import { ModulVue } from '../../../utils/vue/vue';
import { MPopup } from '../../popup/popup';
import './base-select.scss';
export interface MBaseSelectItem<T> {
    value: string;
    label?: string;
    disabled?: boolean;
    hideRadioButtonMobile?: boolean;
    data?: T;
}
export declare class MBaseSelect extends ModulVue {
    readonly items: MBaseSelectItem<unknown>[] | string[];
    readonly selectedItems: unknown[];
    readonly multiselect: boolean;
    readonly active: boolean;
    readonly open: boolean;
    readonly hideRadioButtonMobile: boolean;
    readonly sidebarFullHeight: boolean;
    readonly enableAnimation: boolean;
    readonly virtualScroll: boolean;
    readonly listMinWidth: string;
    readonly listMaxHeight: string;
    readonly listboxAriaLabelledby?: string;
    readonly focusManagement: boolean;
    readonly initialFocusElement?: HTMLElement;
    readonly refItems: HTMLUListElement;
    readonly refPopup: MPopup;
    readonly popupId: string;
    readonly listboxId: string;
    focusedIndex: number;
    private internalOpen;
    private letterTap;
    private timerLetterTap;
    private timerLetterTapActive;
    emitUpdateOpen(_open: boolean): void;
    emitClick(_event: MouseEvent): void;
    emitClickOnItem(_event: MouseEvent): void;
    emitOpen(): Promise<void>;
    emitClose(): void;
    emitPortalAfterClose(): void;
    emitSelectItem(option: MBaseSelectItem<unknown> | string, index: number, event: Event): void;
    onOpenChange(open: boolean): void;
    set popupOpen(open: boolean);
    get popupOpen(): boolean;
    get listMaxHeightProps(): string | undefined;
    get itemIds(): string[];
    get ariaActivedescendantId(): string;
    get itemsAreStringArray(): boolean;
    get focusValue(): string;
    getItemProps(item: MBaseSelectItem<unknown> | string, index: number): any;
    getItemHandlers(item: MBaseSelectItem<unknown> | string, index: number): any;
    togglePopup(): void;
    closePopup(): void;
    selectFocusedItem($event: Event): void;
    focusFirstSelected(): void;
    focusNextItem(): void;
    focusPreviousItem(): void;
    update(): void;
    transitionEnter(el: HTMLElement, done: any): void;
    transitionLeave(el: HTMLElement, done: any): void;
    onKeydownDown($event: KeyboardEvent): void;
    onKeydownUp($event: KeyboardEvent): void;
    onKeydownSpace($event: KeyboardEvent): void;
    onKeydownTab($event: KeyboardEvent): void;
    onKeydownEsc($event: KeyboardEvent): void;
    onKeydownEnter($event: KeyboardEvent): void;
    onKeydownHome($event: KeyboardEvent): void;
    onKeydownEnd($event: KeyboardEvent): void;
    onKeydownLetter($event: KeyboardEvent): void;
    private scrollToFocused;
    private createTimeoutLetterTap;
    private findFirstItemWithLetter;
    private isSelected;
    private setCurrentFocusedIndex;
}
//# sourceMappingURL=base-select.d.ts.map