import { DOMProps, FocusStrategy, HoverEvents, KeyboardEvents, PressEvents, RefObject } from '@react-types/shared'; import React, { HTMLAttributes } from 'react'; import { RootMenuTriggerState } from 'react-stately/useMenuTriggerState'; import { TreeState } from 'react-stately/useTreeState'; export interface MenuContextValue extends Omit, 'autoFocus' | 'onKeyDown'>, Pick { onClose?: () => void; closeOnSelect?: boolean; shouldFocusWrap?: boolean; autoFocus?: boolean | FocusStrategy; ref?: RefObject; state?: RootMenuTriggerState; onBackButtonPress?: () => void; submenuLevel?: number; } export declare const MenuContext: React.Context; export declare function useMenuContext(): MenuContextValue; export interface SubmenuTriggerContextValue extends DOMProps, Pick, Pick, Pick { isUnavailable?: boolean; triggerRef?: RefObject; 'aria-expanded'?: boolean | 'true' | 'false'; 'aria-controls'?: string; 'aria-haspopup'?: 'dialog' | 'menu'; isOpen?: boolean; } export declare const SubmenuTriggerContext: React.Context; export declare function useSubmenuTriggerContext(): SubmenuTriggerContextValue | undefined; export interface MenuStateContextValue { state: TreeState; popoverContainer: HTMLElement | null; trayContainerRef: RefObject; menu: RefObject; submenu: RefObject; rootMenuTriggerState?: RootMenuTriggerState; } export declare const MenuStateContext: React.Context | undefined>; export declare function useMenuStateContext(): MenuStateContextValue | undefined;