import { PluginObject } from 'vue';
import { MInputStyle } from '../input-style/input-style';
import { MPopup } from '../popup/popup';
import { BaseDropdown, BaseDropdownGroup, MDropdownInterface } from './dropdown-item/dropdown-item';
export declare class MDropdown extends BaseDropdown implements MDropdownInterface {
    readonly value: any;
    readonly filterable: boolean;
    textNoData: string;
    readonly textNoMatch: string;
    listMinWidth: string;
    readonly focus: boolean;
    readonly forceOpen: boolean;
    readonly maxLength: number;
    readonly showArrowIcon: boolean;
    readonly enableAnimation: boolean;
    readonly includeFilterableStatusItems: boolean;
    readonly clearInvalidSelectionOnClose: boolean;
    readonly clearModelOnSelectedText: boolean;
    readonly id: string;
    readonly inputAriaDescribedby: string;
    $refs: {
        popup: MPopup;
        items: HTMLUListElement;
        input: HTMLInputElement;
        mInputStyle: MInputStyle;
        researchInput: HTMLInputElement;
    };
    readonly listboxId: string;
    readonly popupId: string;
    private internalFilter;
    private internalFilterRegExp;
    private internalItems;
    private internalNavigationItems;
    private internalSelectedText;
    private internalIsFocus;
    private observer;
    private focusedIndex;
    private internalOpen;
    private dirty;
    onForceOpenUpdate(): void;
    get inputAriaActivedescendant(): string;
    matchFilter(text: string | undefined): boolean;
    onFocusIn(): void;
    onFocusOut(): void;
    get filterableDesktop(): boolean;
    groupHasItems(group: BaseDropdownGroup): boolean;
    protected created(): void;
    protected mounted(): void;
    protected beforeDestroy(): void;
    get open(): boolean;
    set open(value: boolean);
    private onOpen;
    private onClose;
    private setInternalValue;
    private focusChanged;
    private matchFilterTextToValue;
    get model(): any;
    set model(value: any);
    private setModel;
    private get internalPlaceholder();
    private portalMounted;
    private setInputWidth;
    private get inputStyletWidth();
    get focused(): any;
    private onIsMqMaxS;
    private get selectedText();
    private set selectedText(value);
    get isEmpty(): boolean;
    private buildItemsMap;
    private get propTextNoData();
    private get propTextNoMatch();
    private get hasItems();
    get inactive(): boolean;
    private get hasFooterSlot();
    onKeydownHome($event: KeyboardEvent): void;
    onKeydownEnd($event: KeyboardEvent): void;
    private onKeydownUp;
    private onKeydownDown;
    private onKeydownEnter;
    private onKeydownTab;
    private onKeydownEsc;
    private onInput;
    private focusOnResearchInput;
    private selectText;
    private focusSelected;
    private focusNextItem;
    private focusPreviousItem;
    private scrollToFocused;
    private transitionEnter;
    private transitionLeave;
    private get hasPointer();
    private get hasPlaceholderIcon();
    private get isEdgeSupport();
    private get isFirefoxSupport();
    private get isAndroid();
}
declare const DropdownPlugin: PluginObject<any>;
export default DropdownPlugin;
//# sourceMappingURL=dropdown.d.ts.map