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 CircleMode extends AbstractDrawMode {
    private _mode;
    private _moveStart;
    private _resizeAnker;
    constructor(plugin: DrawPlugin, map: Map, source: GeoJSONSource, model: DrawModel | undefined);
    onClick(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    onMouseDown(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    onMouseMove(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    onMouseUp(e: MapLayerMouseEvent | MapLayerTouchEvent): void;
    private generateVertices;
    private createFeatureCollection;
    register(): void;
    unregister(): void;
    setModel(model: DrawModel | undefined): void;
    onOptionsUpdate(): void;
}
