import { AbstractDrawMode } from './mode.abstract.ts';
import { DrawPlugin } from './plugin.ts';
import { DrawModel } from './types.ts';
import { GeoJSONSource, Map, MapLayerMouseEvent, MapLayerTouchEvent } from 'maplibre-gl';
export declare class PolygonMode extends AbstractDrawMode {
    private _mode;
    private _moveStart;
    constructor(plugin: DrawPlugin, map: Map, source: GeoJSONSource, model: DrawModel | undefined);
    private onClick;
    private onDoubleClick;
    private onMouseMove;
    onMouseDown(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    onMouseUp(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    register(): void;
    unregister(): void;
    setModel(model: DrawModel | undefined): void;
    onOptionsUpdate(): void;
    private createFeatureCollection;
    private endCreation;
    private generateCollectionWithVertexes;
    private calculateB;
}
