// Public barrel for the flights-map feature. See frozen-barrels.md.

// 4A -- Types
export type {
  FlightsMapSearchParams,
  FlightsMapCalendarParams,
  IFlightRoute,
  IDestinationsResponse,
  IFlightsMapDaysResponse,
  IMapMarker,
  IMapPolyline,
  IMapPopup,
  MarkerStyle,
  PolylineStyle,
  IFlightsMapFilterState,
} from "./types.js";

// 4A -- API functions
export { searchDestinations, getFlightsMapCalendar } from "./api.js";

// 4A -- React hooks
export { useFlightsMapSearch } from "./hooks/useFlightsMapSearch.js";
export type { UseFlightsMapSearchResult } from "./hooks/useFlightsMapSearch.js";
export { useFlightsMapCalendar } from "./hooks/useFlightsMapCalendar.js";
export type { UseFlightsMapCalendarResult } from "./hooks/useFlightsMapCalendar.js";
export { useFeatureFlag } from "./hooks/useFeatureFlag.js";

// 4D -- SEO builder functions
export { buildFlightsMapSeo } from "./seo.js";
export type { TFunction } from "./seo.js";

// 4D -- JSON-LD builder functions
export { buildFlightsMapJsonLd } from "./json-ld.js";

// 4C -- Feature-specific page components
export { FlightsMapStartPage } from "./components/FlightsMapStartPage.js";
export { FlightsMapFilter } from "./components/FlightsMapFilter.js";
export type { FlightsMapFilterProps } from "./components/FlightsMapFilter.js";
export { ClientOnly } from "./components/ClientOnly.js";
export type { ClientOnlyProps } from "./components/ClientOnly.js";
