import { TypedEmitter } from 'tiny-typed-emitter';
import { FixedToolbar } from '../../command-bar';
import { AbstractCommandBar, CommandItem } from '../../types';
import './dropdown-select.scss';
interface DropdownSelectEvents {
    change: (item: CommandItem, select: DropdownSelect) => void;
}
interface DropdownSelectOptions {
    id?: string;
    classes?: string[];
    childrenMenuId?: string;
    tooltipId?: string;
}
export default class DropdownSelect extends TypedEmitter<DropdownSelectEvents> {
    _toolbar: FixedToolbar;
    _mainItem: CommandItem;
    _currentItem: CommandItem | null;
    _root: HTMLElement;
    constructor(parent: HTMLElement, items: CommandItem[], options?: DropdownSelectOptions);
    destroy(): void;
    toolbar(): FixedToolbar;
    mainItem(): CommandItem;
    items(): CommandItem[];
    close(): void;
    handlePopup: (bar: AbstractCommandBar) => void;
    handleClickItem: (bar: unknown, item: CommandItem) => void;
    currentItem(): CommandItem | null;
    currentIndex(): number;
    setCurrentItem(item: CommandItem, emit?: boolean): void;
    selectItem(id: string): void;
    setItems(items: CommandItem[]): void;
}
export {};
