import { AriaMenuItemProps } from './useMenuItem'; import { AriaMenuOptions } from './useMenu'; import type { AriaPopoverProps } from '../overlays/usePopover'; import { FocusableElement, Node, RefObject } from '@react-types/shared'; import type { OverlayProps } from '../overlays/Overlay'; import type { SubmenuTriggerState } from 'react-stately/useMenuTriggerState'; export interface AriaSubmenuTriggerProps { /** * An object representing the submenu trigger menu item. Contains all the relevant information that makes up the menu item. * @deprecated */ node?: Node; /** Whether the submenu trigger is disabled. */ isDisabled?: boolean; /** The type of the contents that the submenu trigger opens. */ type?: 'dialog' | 'menu'; /** Ref of the menu that contains the submenu trigger. */ parentMenuRef: RefObject; /** Ref of the submenu opened by the submenu trigger. */ submenuRef: RefObject; /** * The delay time in milliseconds for the submenu to appear after hovering over the trigger. * @default 200 */ delay?: number; /** Whether the submenu trigger uses virtual focus. */ shouldUseVirtualFocus?: boolean; } interface SubmenuTriggerProps extends Omit { /** Whether the submenu trigger is in an expanded state. */ isOpen: boolean; } interface SubmenuProps extends AriaMenuOptions { /** The level of the submenu. */ submenuLevel: number; } export interface SubmenuTriggerAria { /** Props for the submenu trigger menu item. */ submenuTriggerProps: SubmenuTriggerProps; /** Props for the submenu controlled by the submenu trigger menu item. */ submenuProps: SubmenuProps; /** Props for the submenu's popover container. */ popoverProps: Pick & Pick; } /** * Provides the behavior and accessibility implementation for a submenu trigger and its associated submenu. * @param props - Props for the submenu trigger and refs attach to its submenu and parent menu. * @param state - State for the submenu trigger. * @param ref - Ref to the submenu trigger element. */ export declare function useSubmenuTrigger(props: AriaSubmenuTriggerProps, state: SubmenuTriggerState, ref: RefObject): SubmenuTriggerAria; export {};