import { PropertyValues, TemplateResult } from 'lit';
import { Address } from '../../shared/types';
export type SearchStringResult = {
    id?: string;
    value: string;
};
export type SearchProfileResult = {
    address: Address;
    image?: string;
    name?: string;
};
export type SearchResult = SearchStringResult | SearchProfileResult;
declare const LuksoSearch_base: typeof import("lit").LitElement;
export declare class LuksoSearch extends LuksoSearch_base {
    value: string;
    name: string;
    placeholder: string;
    label: string;
    autocomplete: string;
    id: string;
    description: string;
    error: string;
    customClass: string;
    isFullWidth: boolean;
    isReadonly: boolean;
    isDisabled: boolean;
    autofocus: boolean;
    borderless: boolean;
    results: string;
    debounce: number;
    isSearching: boolean;
    noResultsText: string;
    showNoResults: boolean;
    selected: any;
    private hasFocus;
    private hasHighlight;
    private isDebouncing;
    private debounceTimer;
    private resultsParsed;
    private searchTerm;
    private defaultInputStyles;
    willUpdate(changedProperties: PropertyValues<this>): void;
    inputTemplate(): TemplateResult<1>;
    labelTemplate(): TemplateResult<1>;
    descriptionTemplate(): TemplateResult<1>;
    errorTemplate(): TemplateResult<1>;
    resultsTemplate(): TemplateResult<1>;
    noResultsTemplate(): TemplateResult<1>;
    loadingTemplate(): TemplateResult<1>;
    dropdownWrapperTemplate(innerTemplate: TemplateResult<1> | TemplateResult<1>[]): TemplateResult<1>;
    resultStringTemplate(result: SearchStringResult, index: number): TemplateResult<1>;
    resultProfileTemplate(result: SearchProfileResult, index: number): TemplateResult<1>;
    private handleSelect;
    private handleFocus;
    private handleBlur;
    private handleInputClick;
    private searchDebounce;
    private handleSearch;
    private handleMouseOver;
    private handleMouseOut;
    render(): TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'lukso-search': LuksoSearch;
    }
}
export {};
//# sourceMappingURL=index.d.ts.map