import { useMap as useMapGL } from 'react-map-gl/maplibre';
export declare const ChesaiMap: import('react').ForwardRefExoticComponent<import('./map-root').MapProps & import('react').RefAttributes<import('react-map-gl/maplibre').MapRef>> & {
    Marker: ({ longitude, latitude, children, onClick, draggable, onDragStart, onDrag, onDragEnd, rotation, offset, color, popup, popupOpen: controlledPopupOpen, onPopupClose, }: import('./map-marker').MapMarkerProps) => import("react/jsx-runtime").JSX.Element;
    MarkerContent: {
        ({ children, className, }: {
            children: React.ReactNode;
            className?: string;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    MarkerLabel: {
        ({ children, position, className, }: {
            children: React.ReactNode;
            position?: "top" | "bottom";
            className?: string;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    MarkerTooltip: {
        ({ children, className, }: {
            children: React.ReactNode;
            className?: string;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    MarkerPopup: {
        ({ children, closeButton, className, }: {
            children: React.ReactNode;
            closeButton?: boolean;
            className?: string;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    AnimatedMarker: ({ longitude, latitude, bearing, duration, children, ...props }: import('./map-animated-marker').MapAnimatedMarkerProps) => import("react/jsx-runtime").JSX.Element;
    Popup: ({ longitude, latitude, children, onClose, className, closeButton, }: {
        longitude: number;
        latitude: number;
        children: React.ReactNode;
        onClose?: () => void;
        className?: string;
        closeButton?: boolean;
    }) => import("react/jsx-runtime").JSX.Element;
    Controls: ({ position, showZoom, showCompass, showLocate, showFullscreen, }: {
        position?: "top-right" | "top-left" | "bottom-right" | "bottom-left";
        showZoom?: boolean;
        showCompass?: boolean;
        showLocate?: boolean;
        showFullscreen?: boolean;
    }) => import("react/jsx-runtime").JSX.Element;
    Route: ({ coordinates, color, width, opacity, lineDasharray, interactive, onClick, onMouseEnter, onMouseLeave, }: import('./map-route').MapRouteProps) => import("react/jsx-runtime").JSX.Element;
    ClusterLayer: ({ data, clusterMaxZoom, clusterRadius, clusterColors, clusterThresholds, pointColor, onPointClick, onClusterClick, }: import('./map-cluster').MapClusterLayerProps) => import("react/jsx-runtime").JSX.Element;
    HeatmapLayer: ({ data, intensity, radius, opacity, colors, }: import('./map-heatmap').MapHeatmapLayerProps) => import("react/jsx-runtime").JSX.Element;
    Geofence: ({ id, polygon, color, borderColor, opacity, active, }: import('./map-geofence').MapGeofenceProps) => import("react/jsx-runtime").JSX.Element;
    Draw: ({ onChange, visible }: import('./map-draw').MapDrawProps) => import("react/jsx-runtime").JSX.Element | null;
    isPointInPolygon: (point: [number, number], polygon: [number, number][]) => boolean;
};
export { ChesaiMap as Map, useMapGL as useMap };
