import type { EventFor, EventHandler } from "../events.js"; import type { GeoJSONData, GeoJSONFeatureCollection } from "../layers/geojson.js"; import type { ControlPosition, Orihon } from "../map.js"; import { Control, type ControlOptions } from "../ui/control.js"; import { DrawHandler, type DrawEventMap, type DrawHandlerOptions, type DrawMode } from "./handler.js"; export interface DrawControlOptions extends DrawHandlerOptions, ControlOptions { } /** Create the built-in, presentation-only icon for a drawing mode. */ export declare function createDrawModeIcon(mode: Exclude): SVGSVGElement; export declare class DrawControl extends Control { #private; readonly handler: DrawHandler; readonly featureGroup: import("../layer-group.js").FeatureGroup<{}>; private buttons; private actionButtons; constructor(options?: DrawControlOptions); get isDestroyed(): boolean; addTo(map: Orihon): this; onAdd(map: Orihon): void; onRemove(): void; remove(): this; destroy(): this; setPosition(position: ControlPosition): this; setMode(mode: DrawMode): this; on(type: K, handler: EventHandler, DrawHandler>>): this; once(type: K, handler: EventHandler, DrawHandler>>): this; off(): this; off(type: K, handler?: EventHandler, DrawHandler>>): this; finish(): this; cancel(): this; undo(): this; redo(): this; toGeoJSON(): GeoJSONFeatureCollection; loadData(data: GeoJSONData): this; render(): void; } export declare function drawControl(options?: DrawControlOptions): DrawControl; //# sourceMappingURL=control.d.ts.map