interface MenuLevelOptions { menu?: PopupMenu; parent?: MenuLevel; container?: HTMLElement; levelIndex?: number; levelDiv?: HTMLDivElement; domWriteItemsId?: boolean; menuId?: string; itemRenderedCallback?: (item: MenuItem, itemDiv: HTMLDivElement) => void; items?: MenuItem[]; showSelected?: boolean; } declare class MenuLevel { private parentMenu; private parentLevel; private parentElement; private levelIndex; private searchDiv; private searchBox; private applyDiv; private closeDiv; private scrollDiv; private domWriteItemsId; private menuId; private itemRenderedCallback; private items; private filteredItems; private _applyItem; get applyItem(): MenuItem; private activeItem; private selectedItem; private initialized; private updated; private isFilteringMode; private showSelected; applyBtn: HTMLButtonElement; levelDiv: HTMLDivElement; protected get cssPrefix(): string; constructor(options: MenuLevelOptions); getItems(): MenuItem[]; setItems(items: MenuItem[]): void; renderContent(): void; private moveActiveItemDown; private moveActiveItemUp; private openSubLevel; focusScrollDiv(): void; private turnCheckboxes; private isItemSelected; private setItemSelected; private submitItems; private allSubitemsAreFiltered; private isItemDiv; private isLevelDiv; private getMenuItem; private renderItemsWithoutFilter; private renderItemsWithFilter; private matchesFilter; private filterItems; private renderItemWithFilter; private highlightText; private renderItems; activateItem(menuItem: any, openSubLevel?: boolean): void; deactivateItem(menuItem: any): void; showSubLevel(menuItem: MenuItem): void; adjustTopPos(top: number): number; showAt(x: number, y: number, adjustTopPos: boolean, hidden: boolean, anchor?: HTMLElement): void; focus(): void; hide(): void; initLevelDiv(): void; submit(menuItem: MenuItem): void; remove(): void; update(newItems: MenuItem[]): void; refreshCheckboxes(): void; refreshItems(): void; findItem(searchedText: string): MenuItem; } export interface MenuItem { id: string; text: string; selected?: boolean; data?: any; items?: MenuItem[]; hidden?: boolean; subLevel?: MenuLevel; itemDiv?: HTMLElement; itemCheckbox?: HTMLInputElement; extra?: any; } export interface PopupMenuOptions { activateOnMouseOver?: boolean; searchBoxAutoFocus?: boolean; searchBoxAlwaysShown?: boolean; useDefaultStyles?: boolean; multiselect?: boolean; isSubQuery?: boolean; buttons?: { submit?: string; cancel?: string; }; submitOnBlur?: boolean; hideButtons?: boolean; items?: MenuItem[]; container?: HTMLElement; domWriteItemsId?: boolean; id?: string; itemRenderedCallback?: (item: any, itemDiv: HTMLDivElement) => void; itemFilterCallback?: (item: any) => boolean; itemSelectedCallback?: (item: any, selectedItems: any[]) => void; menuClosedCallback?: () => void; zIndex?: number; onMenuItemSelected?: boolean; selectedIds?: string[] | string; anchor?: HTMLElement; adjustHeight?: boolean; /** * If the number of items in drop down menu exceeds this number then a search box will be displayed. * Set this option to 0 if want to show the search box in any case */ showSearchBoxAfter?: number; showSelected?: boolean; /** If true - the menu will show the ID for each item (e.g. {itemId}:{itemText}) */ showItemIds?: boolean; /** * If true, popup use max available space */ useMaxSpace?: boolean; } export declare class PopupMenu { private static lastMenuID; maxHeight: number; minItemWidth: number; maxItemWidth: number; isCursorInside: boolean; style: any; zIndex: string; private itemFilterCallback; private itemSelectedCallback; private menuClosedCallback; private rootLevel; private menuId; private mouseIsOverBlock; private mouseIsOverLink; private toId; private commandTemplate; private args; private globalMouseDownHandler; private menuKeyUpHandler; private active; private ancorFocused; protected get cssPrefix(): string; options: PopupMenuOptions; constructor(options?: PopupMenuOptions); getItems(): MenuItem[]; private updateProps; private render; private clearItemsMenuProps; private clearItemMenuProps; private setSelectedItems; getRootLevel(): MenuLevel; getItemFilterCallback(): (item: MenuItem) => boolean; showMenu(options: PopupMenuOptions): void; hideMenu(): void; submitMenu(menuItem: any, selectedItems: any): void; knockMenuStyle(menu: HTMLElement): void; refreshItems(): void; refreshCheckboxes(): void; } export {};