import L from "leaflet";
import { AddUserInputBtn } from "../buttons/AddUserInputBtn";
import { AbstractWidget } from "./AbstractWidget";
import "leaflet/dist/leaflet.css";
import "@geoman-io/leaflet-geoman-free";
import "@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css";
import { SelectedVal } from "../SelectedVal";
import { HTMLComponent } from '../HtmlComponent';
import { LabelledCriteria, MapCriteria } from '../../SparnaturalQueryIfc';
export interface MapConfiguration {
    zoom: number;
    center: {
        lat: number;
        long: number;
    };
}
export interface CustomControlOptions {
    name: string;
    block: any;
    title: string;
    className: string;
    onClick: () => void;
}
export default class MapWidget extends AbstractWidget {
    #private;
    static defaultConfiguration: MapConfiguration;
    protected configuration: MapConfiguration;
    protected widgetValues: LabelledCriteria<MapCriteria>[];
    protected renderMapValueBtn: AddUserInputBtn;
    protected map: L.Map;
    protected drawingLayer: L.Layer;
    constructor(configuration: MapConfiguration, parentComponent: HTMLComponent, startClassVal: SelectedVal, objectPropVal: SelectedVal, endClassVal: SelectedVal);
    render(): this;
    parseInput(input: LabelledCriteria<MapCriteria>): LabelledCriteria<MapCriteria>;
}
