import { type PopupOptions, type MarkerOptions } from "maplibre-gl"; import { type ReactNode } from "react"; export type MapMarkerProps = { /** Longitude coordinate for marker position */ longitude: number; /** Latitude coordinate for marker position */ latitude: number; /** Marker subcomponents (MarkerContent, MarkerPopup, MarkerTooltip, MarkerLabel) */ children: ReactNode; /** Callback when marker is clicked */ onClick?: (e: MouseEvent) => void; /** Callback when mouse enters marker */ onMouseEnter?: (e: MouseEvent) => void; /** Callback when mouse leaves marker */ onMouseLeave?: (e: MouseEvent) => void; /** Callback when marker drag starts (requires draggable: true) */ onDragStart?: (lngLat: { lng: number; lat: number; }) => void; /** Callback during marker drag (requires draggable: true) */ onDrag?: (lngLat: { lng: number; lat: number; }) => void; /** Callback when marker drag ends (requires draggable: true) */ onDragEnd?: (lngLat: { lng: number; lat: number; }) => void; } & Omit; export declare function MapMarker({ longitude, latitude, children, onClick, onMouseEnter, onMouseLeave, onDragStart, onDrag, onDragEnd, draggable, ...markerOptions }: MapMarkerProps): import("react/jsx-runtime").JSX.Element; type MarkerContentProps = { /** Custom marker content. Defaults to a blue dot if not provided */ children?: ReactNode; /** Additional CSS classes for the marker container */ className?: string; }; export declare function MarkerContent({ children, className }: MarkerContentProps): import("react").ReactPortal; type MarkerPopupProps = { /** Popup content */ children: ReactNode; /** Additional CSS classes for the popup container */ className?: string; /** Show a close button in the popup (default: false) */ closeButton?: boolean; } & Omit; export declare function MarkerPopup({ children, className, closeButton, ...popupOptions }: MarkerPopupProps): import("react").ReactPortal; type MarkerTooltipProps = { /** Tooltip content */ children: ReactNode; /** Additional CSS classes for the tooltip container */ className?: string; } & Omit; export declare function MarkerTooltip({ children, className, ...popupOptions }: MarkerTooltipProps): import("react").ReactPortal; type MarkerLabelProps = { /** Label text content */ children: ReactNode; /** Additional CSS classes for the label */ className?: string; /** Position of the label relative to the marker (default: "top") */ position?: "top" | "bottom"; }; export declare function MarkerLabel({ children, className, position, }: MarkerLabelProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=map-marker.d.ts.map