
import { Key, ReactElement, ReactNode } from "react";
import { AriaMenuTriggerProps, Placement } from "react-aria";

//#region src/components/actions/Menu/SubMenuTrigger.d.ts
interface CubeSubMenuTriggerProps extends AriaMenuTriggerProps {
  /** The preferred placement of the sub-menu relative to the trigger */
  placement?: Placement;
  /** Distance in pixels between the trigger and sub-menu */
  offset?: number;
  /** Distance in pixels along the cross axis from the default alignment */
  crossOffset?: number;
  /** Whether the sub-menu should flip to the opposite side when it would overflow */
  shouldFlip?: boolean;
  /** Minimum padding in pixels between the sub-menu and viewport edges */
  containerPadding?: number;
  /**
   * Sub-menu trigger and the sub-menu itself. Must be exactly two React nodes.
   *
   * 1) Trigger – **must render `<li role="menuitem">`** (usually `Menu.Item`).
   * 2) Sub-menu – a `<Menu>` element.
   */
  children: [ReactNode, ReactElement];
  /** Whether the trigger is disabled and cannot be activated */
  isDisabled?: boolean;
  /**
   * Callback fired when an action is selected from the sub-menu.
   * Bubbles the `onAction` event from the sub-menu to parent components.
   */
  onAction?: (key: Key) => void;
  /**
   * Controls focus behavior when the sub-menu opens.
   * - `true` or `'first'`: Focus the first item
   * - `'last'`: Focus the last item
   * - `false`: Don't auto-focus any item
   * @default 'first'
   */
  autoFocus?: boolean | 'first' | 'last';
}
/**
 * Public SubMenuTrigger component that users interact with.
 * It just provides the getCollectionNode for the collection system.
 */
declare function SubMenuTrigger(props: CubeSubMenuTriggerProps): null;
declare namespace SubMenuTrigger {
  var displayName: string;
}
//#endregion
export { CubeSubMenuTriggerProps, SubMenuTrigger };
//# sourceMappingURL=SubMenuTrigger.d.ts.map