import type { FocusHoverState, MenuSelectEvent, Orientation, SubmenuType } from '../../menu/types'; import { MenuItemRegistration } from '../hooks/useMenu'; import { Context, Dispatch, RefObject, SetStateAction } from 'react'; import { SubmenuRenderMode } from '../../menu'; /** * Internal context value for Menu and ContextMenu components * * @internal */ export interface MenuContextValue { config: { itemOnClick: boolean; orientation: Orientation; embedded?: boolean; isDeviceMode?: boolean; zIndex?: number; submenuRenderMode?: SubmenuRenderMode; }; state: { openSubmenus: Array; setOpenSubmenus: Dispatch>>; pathStates: FocusHoverState; setPathStates: Dispatch>; parentPath: number[]; }; refs: { submenuRefs: RefObject>; focusedItemRef: RefObject; menuItemsRef: RefObject>; portalContainerRef?: RefObject; }; handlers: { onSelect?: (event: MenuSelectEvent) => void; onClose?: (event: Event) => void; openSubmenu: (parentIndexPath: number[], target: HTMLElement, triggerEvent?: Event) => void; handleBackNavigation: () => void; handleSubmenuOpen: (parentIndexPath: number[], target: HTMLElement, triggerEvent?: Event) => void; blurFocusedMenuElement: () => void; }; } /** * Internal context for Menu and ContextMenu components * * @internal */ export declare const MenuContext: Context; export declare const useMenuContext: () => MenuContextValue;