import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MBaseSelect } from '../select/base-select/base-select';
import { MTextfield } from '../textfield/textfield';
export declare class MTypeahead extends ModulVue {
    value: any;
    results: any[];
    waitingResults: boolean;
    filterResultsManually: boolean;
    throttle: number;
    maxLength: number;
    lengthOverflow: boolean;
    characterCount: boolean;
    characterCountThreshold: number;
    maxResults: number;
    $refs: {
        mTextfield: MTextfield;
        result: HTMLUListElement;
        resultsList: HTMLElement;
        researchInput: HTMLElement;
        mBaseSelect: MBaseSelect;
    };
    id: string;
    isResultsPopupOpen: boolean;
    textfieldValue: string;
    filteredResults: any[];
    ariaControls: string;
    throttleTimeoutActive: boolean;
    private throttleTimeout;
    emitInput(event: string): void;
    emitFilterResults(): void;
    onValueChange(newValue: string): void;
    onResultsChange(): void;
    onFocusChanged(newValue: boolean): void;
    onBaseSelectOpen(newValue: boolean): void;
    readonly hasResults: boolean;
    readonly hasFilteredResults: boolean;
    readonly hasTextfieldValue: boolean;
    readonly resultsCouldBeDisplay: boolean;
    readonly hasSomeAResultSelected: boolean;
    readonly sortedResult: any[];
    openResultsPopup(): void;
    closeResultsPopup(): void;
    onSelect(option: any, index: number): void;
    isSelected(index: number): boolean;
    focusOnResearchInput(): void;
    onFilterResults(): void;
    getTextHighlight(item: any): string;
    onInput(event: string): void;
    onKeydownEnter($event: KeyboardEvent): void;
    onKeydownDown($event: KeyboardEvent): void;
    onKeydownUp($event: KeyboardEvent): void;
    onKeydownTab($event: KeyboardEvent): void;
    onKeydownEsc($event: KeyboardEvent): void;
}
declare const TypeaheadPlugin: PluginObject<any>;
export default TypeaheadPlugin;
//# sourceMappingURL=typeahead.d.ts.map