import type { BindableProps } from "../types"; import { type PropsOf, type Signal } from "@qwik.dev/core"; import { PopoverRoot } from "../popover/popover-root"; export type ItemRef = { ref: Signal; }; export type MenuContext = { /** Whether the menu is open */ isOpenSig: Signal; /** ID of the menu content element */ contentId: string; /** ID of the menu trigger element */ triggerId: string; /** The parent menu */ parentContext?: MenuContext; /** The item refs of the menu */ itemRefs: Signal; /** The currently focused element within the menu */ currentFocusEl: Signal; /** Root reference to the menu container */ rootRef: Signal; /** Reference to the content element */ contentRef: Signal; /** Reference to the trigger element */ triggerRef: Signal; /** Whether the menu is disabled */ disabled: Signal; /** X coordinate for context menu positioning */ contextMenuX?: Signal; /** Y coordinate for context menu positioning */ contextMenuY?: Signal; /** Whether the menu was opened via context menu */ isContextMenu?: Signal; /** The function to call when an item is selected */ onItemSelection$: (value: string) => void | Promise; /** The direction to focus on when the menu is opened */ openFocusDirection: Signal<"first" | "last" | undefined>; }; export declare const menuContextId: import("@qwik.dev/core").ContextId; type MenuRootBaseProps = PropsOf; /** Initial open state of the menu */ export type PublicMenuRootProps = Omit & BindableProps<{ open: boolean; disabled: boolean; }> & { onOpenChange$?: (open: boolean) => void; onChange$?: (value: string) => void; }; /** Root container component for the menu */ export declare const MenuRoot: import("@qwik.dev/core").Component; export {};