import { PropsWithChildren, JSX } from 'react'; import L, { LatLng, LatLngBoundsExpression } from 'leaflet'; import { GlobalConfig } from '../../state'; import 'leaflet/dist/leaflet.css'; /** An object containing area guide polygon plus required data from page config */ export interface AreaData { polygon: string; slug: string; title: string; } export interface DecodedAreaData { polygon: LatLng[]; slug: string; title: string; } export interface MapMarkerData { id: number | null; lat: number | null; lng: number | null; [key: string]: any; } export interface MapWrapperProps extends PropsWithChildren { className?: string; center?: [number, number]; zoom?: number; scrollWheelZoom?: boolean; tiles?: { attribution: string; url: string; }; mapType?: string; } export interface MapProps extends MapWrapperProps { markers: MapMarkerData[]; MarkerPopup?: (props: any) => JSX.Element; onDragEnd?: (bounds: LatLngBoundsExpression) => void; onZoomEnd?: (bounds: LatLngBoundsExpression) => void; editMode?: boolean; encodedPolygon?: string; areas?: AreaData[]; customIconConfig?: L.IconOptions; customClusterConfig?: { maxClusterRadius?: number; }; globalConfig?: GlobalConfig; } interface MapInnerProps { markers: MapMarkerData[]; onDragEnd?: (bounds: LatLngBoundsExpression) => void; onZoomEnd?: (bounds: LatLngBoundsExpression) => void; mapType: string; editMode?: boolean; decodedAreas?: DecodedAreaData[]; maxZoom?: number; center?: [number, number]; } /** This is a child component because the useMap hook can only be used inside a MapContainer */ export declare function MapInner({ markers, mapType, editMode, decodedAreas, maxZoom, center, }: MapInnerProps): null; export default function Map({ markers, className, center, zoom, scrollWheelZoom, tiles, MarkerPopup, onDragEnd, onZoomEnd, mapType, editMode, globalConfig, encodedPolygon, areas, customIconConfig, customClusterConfig, children, }: MapProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=map.component.d.ts.map