import Feature from 'ol/Feature.js';
import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
declare class SearchComponent extends GirafeHTMLElement {
    protected templateUrl: string | null;
    protected styleUrls: string[] | null;
    template: () => import("uhtml").Hole;
    searchIcon: string;
    paintbrushIcon: string;
    private get map();
    private readonly previewFeaturesCollection;
    private previewLayers?;
    private previewGeoLayer;
    private ignoreBlur;
    groupedResults: Record<string, Record<string, Feature[]>>;
    protected allResults: Feature[];
    protected forceHide: boolean;
    private focusedResultIndex;
    private focusedResult;
    private selectedResult;
    private searchInput?;
    private girafeColorPicker?;
    paintSearchResults?: boolean;
    defaultSearchStrokeColor: string;
    defaultSearchFillColor: string;
    searchStrokeColor: string;
    searchFillColor: string | number[];
    showNoResultWarning: boolean;
    private ongoingSearchTimeoutId;
    constructor();
    private initialSearch;
    private createPreviewLayer;
    toggleVisibility(visible: boolean): void;
    onMouseDown(): void;
    onFocusIn(): void;
    onFocusOut(): void;
    render(): void;
    registerEvents(): void;
    protected connectedCallback(): void;
    private flattenResultList;
    protected clearSearch(purge?: boolean): void;
    doSearch(e: Event): Promise<void>;
    /**
     * Debounce the fetch call to API to prevent sending request at every stroke.
     * @param e
     */
    doSearchDebounced(e: Event): Promise<void>;
    getGroupIcon(searchGroup: string): any;
    getProviderClass(provider: string): "hidden" | "provider entry";
    getGroupClass(group: string): "hidden" | "group entry";
    getLabel(result: Feature): unknown;
    onMouseOver(result: Feature): void;
    onMouseLeave(): void;
    private focusResultFromIndex;
    private focusResult;
    private preview;
    private addFeatureToPreview;
    clearPreview(): void;
    onSelect(feature: Feature): void;
    private addResultToTreeView;
    private zoomTo;
    onMouseMove(): void;
    onKeyDown(e: KeyboardEvent): void;
    private navigateToResult;
    private createTooltip;
    private initColorPicker;
    private updatePreviewLayerStyle;
    private defaultColorHasChanged;
    private getColoredPinIcon;
}
export default SearchComponent;
