import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MBaseSelect, MBaseSelectItem } from './base-select/base-select';
export declare class MSelect extends ModulVue {
    readonly value: string;
    readonly options: MBaseSelectItem<unknown>[] | string[];
    readonly clearable: boolean;
    readonly virtualScroll: boolean;
    readonly listMinWidth: string;
    readonly listMaxHeight: string;
    inputAriaDescribedby: string;
    readonly id: string;
    readonly refInput?: HTMLInputElement;
    readonly refBaseSelect: MBaseSelect;
    open: boolean;
    onOpen(): Promise<void>;
    onClose(): void;
    emitSelectItem(_option: MBaseSelectItem<unknown> | string, _index: number, _event: Event): void;
    emitChange(_value: string): void;
    get hasItems(): boolean;
    get isEmpty(): boolean;
    get displayedValue(): string;
    get isClearable(): boolean;
    get selectedItems(): any;
    get isSelectable(): boolean;
    get optionsAreStringArray(): boolean;
    onModelChange(newValue: string, oldValue: any): void;
    onInputStyleClick(callbackToggle: any): void;
    focusInput(): void;
    onPortalAfterClose(): void;
    onSelect(option: MBaseSelectItem<unknown> | string, index: number, $event: Event): void;
    onReset(): void;
    onKeyDownDelete(event: KeyboardEvent): void;
    getItemLabel(item: MBaseSelectItem<unknown> | string): string;
}
declare const SelectPlugin: PluginObject<any>;
export default SelectPlugin;
//# sourceMappingURL=select.d.ts.map