import React from "react";
import type { POI, School } from "@local-logic/client";
import type { MarkerPoint } from "@local-logic/maps";
import type { TransformedScoresMenuData } from "./utils/transformScoresMenuData/types";
import { type LocalContentProps, type POISubcategory, CommuteOptions } from "./types";
import { useScoreSelection } from "~/sdks/LocalContent/hooks/useScoreSelection";
import { useMarkers } from "~/hooks/useMarkers";
import type { CommuteData } from "~/sdks/LocalContent/hooks/useCommute/types";
interface Location {
    lat: LocalContentProps["options"]["lat"];
    lng: LocalContentProps["options"]["lng"];
}
export type DefaultContext = {
    isLoading: boolean;
    isScoresLoading: boolean;
    isMarkersLoading: boolean;
    isCommuteDataLoading: boolean;
    isCategoriesMenuOpen: boolean;
    isCommuteCalculatorOpen: boolean;
    isSidebarExpanded: boolean;
    distanceUnit: LocalContentProps["options"]["distanceUnit"];
    locale: "en" | "fr";
    location: Location;
    country: string;
    centerMarker?: {
        lat: number;
        lng: number;
        addressLabel?: string;
    };
    map: {
        mapProvider: LocalContentProps["options"]["mapProvider"];
        zoom: LocalContentProps["options"]["zoom"];
        pitch: LocalContentProps["options"]["pitch"];
        bearing: LocalContentProps["options"]["bearing"];
        cooperativeGestures: LocalContentProps["options"]["cooperativeGestures"];
    };
    scoresMenu: TransformedScoresMenuData;
    activeScore: ReturnType<typeof useScoreSelection>["activeScore"];
    activeScoreData: ReturnType<typeof useScoreSelection>["activeScoreData"];
    activeCategory: ReturnType<typeof useScoreSelection>["activeCategory"];
    activeCategoryData: ReturnType<typeof useScoreSelection>["activeCategoryData"];
    availablePoiSubcategories: POISubcategory[];
    selectedPoiSubcategory: POISubcategory | null;
    activeMarker?: MarkerPoint;
    activeMarkerDetails: School | POI | null;
    scoresData?: ReturnType<typeof useScoreSelection>["scoresData"];
    markersData?: ReturnType<typeof useMarkers>["data"];
    commuteData: CommuteData | null;
    hideScoresList: string[];
    hideAllScores?: boolean;
    showSchoolRatings?: boolean;
    commuteOptions: CommuteOptions;
    hideAttribution?: boolean;
    handleToggleIsCommuteCalculatorOpen: () => void;
    handleToggleIsSidebarExpanded: () => void;
    handleSelectScore: ReturnType<typeof useScoreSelection>["handleSelectScore"];
    handleSelectCategory: ReturnType<typeof useScoreSelection>["handleSelectCategory"];
    handleSelectPoiSubcategory: (subcategory: POISubcategory | null) => void;
    handleMarkerClick: (marker?: MarkerPoint) => void;
    handleCalculateCommute: (options: DefaultContext["commuteOptions"]) => void;
};
declare const useLocalContent: () => DefaultContext;
declare const LocalContentProvider: ({ children, }: {
    children: React.JSX.Element;
}) => React.JSX.Element;
export { useLocalContent, LocalContentProvider, type Location };
//# sourceMappingURL=context.d.ts.map