import { MegaMenuOptions } from './mega-menu.types'; /** * Headless mega-menu controller. A horizontal bar of top-level triggers, each * optionally opening a large multi-column panel. Opens on hover/focus/click, * closes on Escape / outside-click / focus-leave, and supports arrow-key * navigation between triggers. Implements the disclosure-menu ARIA pattern * (buttons with `aria-expanded`/`aria-controls`); it applies no visual styles. * * Markup: * ```html * * ``` */ export declare class MegaMenu { private readonly root; private readonly items; private readonly openOnHover; private readonly openDelay; private readonly closeDelay; private openItem; private timer; private cleanups; constructor(root: HTMLElement, options?: MegaMenuOptions); private collectItems; private get triggers(); private init; private clearTimer; private scheduleOpen; private scheduleClose; private onTriggerKeydown; private openMenu; private closeItem; /** Open a panel by its item value. */ open(value: string): void; /** Toggle a panel by its item value. */ toggle(value: string): void; /** Close any open panel. */ closeAll(): void; get openValue(): string | null; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }