export interface MenuOptions { dropdown: { hoverTimeout: number; zindex: number; }; accordion: { slideSpeed: number; expand: boolean; }; } declare const defaultMenuOptions: MenuOptions; declare class MenuComponent { element: HTMLElement; options: MenuOptions; instanceUid: string; triggerElement: HTMLElement | null; constructor(_element: HTMLElement, options: MenuOptions); private _setTriggerElement; private _isTriggerElement; private _getItemOption; private _getItemElement; private _getItemParentElement; private _getItemParentElements; private _getDropdownPopperConfig; private _getItemChildElement; private _getItemChildElements; private _getItemSubElement; private _getCss; private _getItemSubType; private _isItemSubShown; private _isItemDropdownPermanent; private _isItemParentShown; private _isItemSubElement; private _hasItemSub; private _getItemLinkElement; private _getItemToggleElement; private _showDropdown; private initDropdownPopper; private _hideDropdown; private destroyDropdownPopper; private _showAccordion; private _hideAccordion; private _hideAccordions; private _reset; private _destroy; private _update; private _hide; private _show; private _toggle; private _mouseout; private _mouseover; private _dismiss; private _link; private _click; click: (element: HTMLElement, e: Event) => void; link: (element: HTMLElement, e: Event) => void; dismiss: (element: HTMLElement, e: Event) => void; mouseover: (element: HTMLElement, e: Event) => void; mouseout: (element: HTMLElement, e: Event) => void; getItemTriggerType: (item: HTMLElement) => any; getItemSubType: (element: HTMLElement) => "dropdown" | "accordion"; show: (item: HTMLElement) => void; hide: (item: HTMLElement) => void; reset: (item: HTMLElement) => void; update: () => void; getElement: () => HTMLElement; getItemLinkElement: (item: HTMLElement) => HTMLElement; getItemToggleElement: (item: HTMLElement) => HTMLElement; getItemSubElement: (item: HTMLElement) => any; getItemParentElements: (item: HTMLElement) => any[]; isItemSubShown: (item: HTMLElement) => any; isItemParentShown: (item: HTMLElement) => boolean; getTriggerElement: () => HTMLElement; isItemDropdownPermanent: (item: HTMLElement) => boolean; hideAccordions: (item: HTMLElement) => void; on: (name: string, handler: any) => void; one: (name: string, handler: any) => void; off: (name: string) => void; static getInstance: (element: HTMLElement) => any; static hideDropdowns: (skip: HTMLElement | undefined) => void; static updateDropdowns: () => void; static createInstances: (selector: string) => void; static initGlobalHandlers: () => void; static bootstrap: () => void; static reinitialization: () => void; static createInsance: (selector: string, options?: MenuOptions) => MenuComponent | undefined; } export { MenuComponent, defaultMenuOptions };