import { PropsWithChildren } from 'react';
import { MapProviderProps, MapStore } from './types';
/**
 * React context provider that enables declarative map state management through a centralized configuration.
 * Defines multiple map instances with their initial state and makes the map store available to child components.
 *
 * @example
 * ```tsx
 * <MapProvider values={[{ id: 'map1', basemap: CartoBasemaps.positron, viewState: { latitude: 40.7, longitude: -74, zoom: 10 } }]}>
 *   <MapComponent id="map1" />
 * </MapProvider>
 * ```
 */
export declare function MapProvider({ children, values, }: PropsWithChildren<MapProviderProps>): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to access the centralized map store for managing map instances, layers, view states, and spatial filters.
 * Must be used within a {@link MapProvider} or {@link MapsProvider}.
 *
 * @param selector - Zustand selector function to pick specific state from the store.
 * @returns The selected state value.
 *
 * @remarks
 * Use selective subscriptions to prevent unnecessary re-renders:
 * `useMapStore((state) => state.viewStates[mapId])` instead of selecting the entire state.
 *
 * @example
 * ```tsx
 * const viewState = useMapStore((state) => state.viewStates['main-map'])
 * const setBasemap = useMapStore((state) => state.setBasemap)
 * ```
 */
export declare function useMapStore<T>(selector: (state: MapStore) => T): T;
