import * as L from 'leaflet'; import 'leaflet-semicircle'; import 'leaflet-ellipse'; import type { MyMap } from 'map-sdk-leaflet/es/sdk/ShipxyAPISDK'; interface beginOptions { shape: string; pathOptions: any; locate: boolean; } declare class DrawUtil { _map: MyMap; options: { shape: string; templineStyle: { color: string; }; hintlineStyle: { color: string; dashArray: number[]; }; markerStyle: { draggable: boolean; }; pathOptions: Record; draggable: boolean; snappable: boolean; finishOnDoubleClick: boolean; }; _callback: { sectorEditCallback?: (sector: L.Layer) => void; sectorMoveCallback?: (sector: L.Layer) => void; sectorMoveendCallback?: (sector: L.Layer) => void; sectorMovebeginCallback?: (sector: L.Layer) => void; sectorMovebeginendCallback?: (sector: L.Layer) => void; sectorMovestopCallback?: (sector: L.Layer) => void; sectorMovestopendCallback?: (sector: L.Layer) => void; ellipseEditCallback?: (ellipse: L.Ellipse) => void; ellipseMoveCallback?: (ellipse: L.Ellipse) => void; ellipseMoveendCallback?: (ellipse: L.Ellipse) => void; }; _editIcon: L.Icon; _editSectorInstance: any; _editEllipseInstance: any; constructor(map: MyMap); begin(options?: Partial): L.Layer | null; end(layer: any): void; show(latlngs: L.LatLng[], options: { shape: string; [key: string]: any; }): L.Layer; edit(layer: L.Layer, editOption?: any, zoomOption?: any): void; _editSector(editSector: L.Layer): void; _editEllipse(ellipse: L.Ellipse): void; _getSectorInfo(sector: { getLatLng: () => L.LatLngExpression; startAngle: () => any; _radius: any; stopAngle: () => any; }): { center_ll: L.LatLngExpression; startll: L.LatLng; endll: L.LatLng; }; _getEllipseVertices(ellipse: any): L.LatLng[]; setCallback(cb: any): void; cancelEdit(layer: any): void; remove(layerId: any): void; getLayer(layerId: any): L.Layer | null; _showRectangle(latlngs: L.LatLngBounds, options?: Partial): L.Rectangle; _showPolygon(latlngs: L.LatLng[], options?: Partial): L.Polygon; _showPolyLine(latlngs: L.LatLng[], options?: Partial): L.Polyline; _showMark(latlngs: L.LatLng[], options?: Partial): L.Marker; _showCircle(center: L.LatLng[], options: Partial): L.Circle; _showSector(center: L.LatLng[], options: Partial): import("../../../../typings/leaflet-semicircle").Semicircle; _showEllipse(center: L.LatLng[], options: Partial): L.Ellipse; _showFreeDraw(latlng: L.LatLng[], options?: Partial): L.Polygon; _setOptions(options?: any): void; _check(): boolean; _checkType(layer: string): boolean; _isEmptyObject(object: any): boolean; } declare const drawUtil: (map: MyMap) => any; export { DrawUtil, drawUtil };