import { Color } from 'vanilla-picker';
import DrawingFeature, { DrawingState, DrawingShape } from './drawingFeature';
import OlDrawing from './olDrawing';
import CesiumDrawing from './cesiumDrawing';
import GirafeHTMLElement from '../../base/GirafeHTMLElement';
import GirafeColorPicker from '../../tools/utils/girafecolorpicker';
export default class DrawingComponent extends GirafeHTMLElement {
    template: () => import("uhtml").Hole;
    checkedIcon: string;
    noCheckedIcon: string;
    trashIcon: string;
    locateIcon: string;
    visibleIcon: string;
    notVisibleIcon: string;
    visible: boolean;
    renderedOnce: boolean;
    drawingState: DrawingState;
    colorPickers: [GirafeColorPicker, () => string][];
    buttons: {
        id: string;
        tool: DrawingShape | null;
    }[];
    toolSelected: Element | null;
    olDrawing: OlDrawing;
    cesiumDrawing: CesiumDrawing;
    fixedLengthEnabled: boolean;
    batchCreateMode: boolean;
    constructor();
    render(): void;
    renderComponent(): void;
    refreshRender(): void;
    registerEvents(): void;
    unregisterEvents(): void;
    addColorPicker(id: string, set: (c: Color) => unknown, get: () => string): void;
    setTool(tool?: DrawingShape | null): void;
    fixedLengthOptionAllowed(): boolean;
    connectedCallback(): void;
    togglePanel(visible: boolean): void;
    get selectedFeatures(): DrawingFeature[];
    deselectAllFeatures(): void;
    onFeaturesChanged(oldFeatures: DrawingFeature[], newFeatures: DrawingFeature[]): void;
    onProjectionChanged(oldProj: string, newProj: string): void;
    onToggleBatchMode(): void;
    onToggleFixedLength(): void;
    onToggleFeatureSelection(feature: DrawingFeature): void;
    getOptionsTitle(): string;
    isDisplayNameEnabled(): boolean;
    isDisplayMeasureEnabled(): boolean;
    isFillColorEnabled(): boolean;
    deleteFeature(feature: DrawingFeature): Promise<void>;
    onOptionsChange(): void;
    toggleNameVisibility(): void;
    toggleMeasureVisibility(): void;
    private warnWhenInWebMercator;
    exportSelectedFeatures(format: 'geojson' | 'kml' | 'gpx'): void;
}
