import GirafeHTMLElement from '../../base/GirafeHTMLElement';
import SearchResult from '../../models/searchresult';
declare class SearchComponent extends GirafeHTMLElement {
    template: () => import("uhtml").Hole;
    searchIcon: string;
    paintbrushIcon: string;
    private readonly themesHelper;
    private readonly layerManager;
    private readonly map;
    private readonly previewFeaturesCollection;
    private previewTheme;
    private previewGeoLayer;
    private maxExtent?;
    private ignoreBlur;
    groupedResults: Record<string, SearchResult[]>;
    protected allResults: SearchResult[];
    protected forceHide: boolean;
    private readonly searchTermPlaceholder;
    private readonly searchLangPlaceholder;
    private readonly COORD_REGEX;
    private focusedResultIndex;
    private focusedResult;
    private selectedResult;
    private searchBox?;
    paintSearchResults?: boolean;
    defaultSearchStrokeColor: string;
    defaultSearchFillColor: string;
    private abortController;
    private ongoingSearchTimeoutId;
    constructor();
    private createPreviewLayer;
    onMouseDown(): void;
    onFocusIn(): void;
    onFocusOut(): void;
    render(): void;
    connectedCallback(): void;
    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>;
    /**
     * Will render the result of the search with coordinates
     * @param term typed string
     */
    private displayCoordinates;
    private displayResults;
    getIcon(searchGroup: string): any;
    onMouseOver(result: SearchResult): void;
    onMouseLeave(): void;
    private focusResultFromIndex;
    private focusResult;
    private preview;
    private isAlreadyPresent;
    private getMinimalClonedThemeForLayer;
    private removeOthers;
    private getHierarchyFromLayer;
    private addFeatureToPreview;
    clearPreview(): void;
    onSelect(result: SearchResult): void;
    private zoomTo;
    onMouseMove(): void;
    onKeyDown(e: KeyboardEvent): void;
    private navigateToResult;
    private initColorPicker;
    private updatePreviewLayerStyle;
    private defaultColorHasChanged;
    private getColoredPinIcon;
}
export default SearchComponent;
