import { Control, ControlOptions, Evented, Map as LMap } from 'leaflet';
import { GeocodingControlBase } from './base-control';
import { LeafletGeocodingControlOptions } from './leaflet-options';
/** Base class for Control needs to extend both Control and Evented */
declare abstract class EventedControl<Options extends ControlOptions> extends Control {
    options: Options;
}
interface EventedControl<Options extends ControlOptions> extends Control, Evented {
    options: Options;
}
export declare class LeafletGeocodingControl extends EventedControl<LeafletGeocodingControlOptions> implements GeocodingControlBase<LeafletGeocodingControlOptions> {
    #private;
    constructor(options?: LeafletGeocodingControlOptions);
    /** @internal Not to be called directly */
    onAdd(map: LMap): HTMLElement;
    /** @internal Not to be called directly */
    onRemove(): void;
    getOptions(): LeafletGeocodingControlOptions;
    setOptions(options: LeafletGeocodingControlOptions): void;
    setQuery(value: string): void;
    submitQuery(value: string): void;
    clearMap(): void;
    clearList(): void;
    setReverseMode(reverseActive: boolean): void;
    focus(options?: FocusOptions): void;
    blur(): void;
}
export {};
