type NavigationMenuValue = string | null; type NavigationMenuValueChangeReason = "escape-key" | "focus-out" | "imperative-action" | "link-press" | "outside-press" | "trigger-hover" | "trigger-press"; type NavigationMenuValueChangeDetails = { event?: Event; previousValue: NavigationMenuValue; reason: NavigationMenuValueChangeReason; trigger?: Element; value: NavigationMenuValue; cancel(): void; readonly isCanceled: boolean; }; type NavigationMenuOptions = { closeOnEscape?: boolean; closeOnOutsideInteract?: boolean; defaultValue?: NavigationMenuValue; closeDelay?: number; onValueChange?: (value: NavigationMenuValue, details: NavigationMenuValueChangeDetails) => void; openDelay?: number; value?: NavigationMenuValue; }; type NavigationMenuSetValueOptions = { emit?: boolean; event?: Event; reason?: NavigationMenuValueChangeReason; trigger?: Element; }; type NavigationMenuInstance = { readonly root: HTMLElement; close(): void; destroy(): void; getValue(): NavigationMenuValue; setValue(value: NavigationMenuValue, options?: NavigationMenuSetValueOptions): void; subscribe(event: "valueChange", callback: (details: NavigationMenuValueChangeDetails) => void): () => void; }; declare function refreshNavigationMenuPortalSurface(root: HTMLElement): void; declare function createNavigationMenu(root: HTMLElement, options?: NavigationMenuOptions): NavigationMenuInstance; export { type NavigationMenuInstance as N, type NavigationMenuOptions as a, type NavigationMenuSetValueOptions as b, type NavigationMenuValue as c, type NavigationMenuValueChangeDetails as d, type NavigationMenuValueChangeReason as e, createNavigationMenu as f, refreshNavigationMenuPortalSurface as r };