import { LitElement, type PropertyValues } from 'lit'; import { type NuiType } from '../../types/nui-type.js'; import { type NuiMenuViewProps } from './logic.js'; import type { MenuItem, NuiMenuEventMap } from './types.js'; export type { NuiMenuEventMap }; export declare class NuiMenu extends LitElement implements NuiMenuViewProps { model: MenuItem[]; popup: boolean; disabled: boolean; unstyled: boolean; nuiType: NuiType; menuClass: string; overlayVisible: boolean; private triggerElement; protected createRenderRoot(): DocumentFragment | HTMLElement; protected updated(changed: PropertyValues): void; disconnectedCallback(): void; toggle(event: Event): void; show(trigger: HTMLElement): void; hide(): void; private updatePosition; private handleOutsideClick; private handleWindowScroll; private handleWindowResize; private handleEscape; private bindListeners; private unbindListeners; private handleItemClick; render(): import("lit-html").TemplateResult; } export interface NuiMenu { addEventListener( type: K, listener: (this: NuiMenu, ev: NuiMenuEventMap[K]) => void, options?: boolean | AddEventListenerOptions, ): void; addEventListener( type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions, ): void; removeEventListener( type: K, listener: (this: NuiMenu, ev: NuiMenuEventMap[K]) => void, options?: boolean | AddEventListenerOptions, ): void; removeEventListener( type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions, ): void; } declare global { interface HTMLElementTagNameMap { 'nui-menu': NuiMenu; } } //# sourceMappingURL=nui-menu.d.ts.map