///
import { Map as MaplibreMap, MapLibreEvent, MapMouseEvent } from "maplibre-gl";
import * as Type from "../../types";
export interface MaplibreProps {
option: Type.MapOption;
controls?: Type.MapControls;
points?: Type.Point[];
circles?: Type.Circle[];
rectangles?: Type.Rectangle[];
lines?: Type.Line[];
popups?: Type.Popup[];
children?: React.ReactNode;
poiHoverEnabled?: boolean;
defaultCursorIcon?: string;
onRenderingComplete?: (map: MaplibreMap) => void;
onPointsRenderingComplete?: (map: MaplibreMap) => void;
onLinesRenderingComplete?: (map: MaplibreMap) => void;
onCirclesRenderingComplete?: (map: MaplibreMap) => void;
onPopupsRenderingComplete?: (map: MaplibreMap) => void;
onMapClick?: (ev: MapMouseEvent, map: MaplibreMap) => void;
onMapDoubleClick?: (ev: MapMouseEvent, map: MaplibreMap) => void;
onceMapClick?: (ev: MapMouseEvent, map: MaplibreMap) => void;
onceMapDoubleClick?: (ev: MapMouseEvent, map: MaplibreMap) => void;
onceMapContextMenu?: (ev: MapMouseEvent, map: MaplibreMap) => void;
onMapDragStart?: (ev: MapLibreEvent, map: MaplibreMap) => void;
onMapDragEnd?: (ev: MapLibreEvent, map: MaplibreMap) => void;
onMapLoad?: (ev: MapLibreEvent) => void;
onMapMoveEnd?: (ev: MapLibreEvent, map: MaplibreMap) => void;
mapStatus?: "paint" | "lock";
style?: React.CSSProperties;
className?: string;
easeTo?: Type.EaseTo;
bound?: Type.Bound;
flyTo?: Type.FlyTo;
}