import { default as React } from 'react';
import { MarkerDragEvent } from 'react-map-gl/maplibre';
interface MarkerContextProps {
    isHovered: boolean;
    setIsHovered: (v: boolean) => void;
}
export declare const MarkerContext: React.Context<MarkerContextProps | null>;
export interface MapMarkerProps {
    longitude: number;
    latitude: number;
    children?: React.ReactNode;
    onClick?: (e: React.MouseEvent) => void;
    draggable?: boolean;
    onDragStart?: (e: MarkerDragEvent) => void;
    onDrag?: (e: MarkerDragEvent) => void;
    onDragEnd?: (e: MarkerDragEvent) => void;
    rotation?: number;
    offset?: [number, number];
    color?: "primary" | "secondary" | "error";
    popup?: React.ReactNode;
    popupOpen?: boolean;
    onPopupClose?: () => void;
}
export declare const MapMarker: ({ longitude, latitude, children, onClick, draggable, onDragStart, onDrag, onDragEnd, rotation, offset, color, popup, popupOpen: controlledPopupOpen, onPopupClose, }: MapMarkerProps) => import("react/jsx-runtime").JSX.Element;
export declare const MarkerContent: {
    ({ children, className, }: {
        children: React.ReactNode;
        className?: string;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const MarkerLabel: {
    ({ children, position, className, }: {
        children: React.ReactNode;
        position?: "top" | "bottom";
        className?: string;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const MarkerTooltip: {
    ({ children, className, }: {
        children: React.ReactNode;
        className?: string;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const MarkerPopup: {
    ({ children, closeButton, className, }: {
        children: React.ReactNode;
        closeButton?: boolean;
        className?: string;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export {};
