
import { BoxProps } from "../../Box.js";
import { PressableProps } from "../Pressable.js";
import * as react from "react";
import { MenuButtonProps } from "@ariakit/react/menu";

//#region src/components/client/Menu/Menu.Trigger.d.ts
interface MenuTriggerProps extends PressableProps {
  /**
   * When asChild is set to true, the component's child will be cloned and passed
   * the props and behavior required to make it functional.
   */
  asChild?: BoxProps['asChild'];
  /**
   * Object returned by the [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook.
   * If not provided, the closest [`Menu.Content`](https://uds.build/docs/components/menu#menu-content) or
   * [`Menu.Provider`](https://uds.build/docs/components/menu#menu-provider) context will be used.
   */
  store?: MenuButtonProps['store'];
  /**
   * Determines if [Focusable](https://ariakit.org/components/focusable)
   * features should be active on non-native focusable elements.
   *
   * **Note**: This prop only turns off the additional features provided by the
   * [`Focusable`](https://ariakit.org/reference/focusable) component.
   * Non-native focusable elements will lose their focusability entirely.
   * However, native focusable elements will retain their inherent focusability,
   * but without added features such as improved
   * [`autoFocus`](https://ariakit.org/reference/focusable#autofocus),
   * [`accessibleWhenDisabled`](https://ariakit.org/reference/focusable#accessiblewhendisabled),
   * [`onFocusVisible`](https://ariakit.org/reference/focusable#onfocusvisible),
   * etc.
   * @default true
   */
  focusable?: MenuButtonProps['focusable'];
}
/**
 * **⚡ A Menu Trigger component**
 *
 * @componentType Server component
 *
 * @description
 * A trigger component for the menu, which is used to toggle the menus open state.
 *
 * @see The {@link https://uds.build/docs/components/menu-trigger Menu.Trigger Docs} for more info
 *
 * @example
 * ```tsx
 * 'use client'; // Next.js client component
 *
 * import { Menu, Button } from "@yahoo/uds";
 * import { Calendar, Clipboard } from "@yahoo/uds-icons";
 *
 * export function MenuProviderExample() {
 *   return (
 *     <Menu.Provider>
 *       <Menu.Trigger asChild>
 *         <Button>Menu Options</Button>
 *       </Menu.Trigger>
 *       <Menu.Content>
 *         <Menu.Item startIcon={Calendar}>Calendar</Menu.Item>
 *         <Menu.Item startIcon={Clipboard} endIcon={DiagonalRightUp}>
 *           Clipboard
 *         </Menu.Item>
 *         <Menu.Item active>Active Item</Menu.Item>
 *       </Menu.Content>
 *     </Menu.Provider>
 *   )
 * }
 * ```
 *
 * @usage
 * Use MenuTrigger to toggle the open state of a menu.
 *
 * @related [Menu](https://uds.build/docs/components/menu), [Menu.ItemCheckbox](https://uds.build/docs/components/menu-item-checkbox)
 **/
declare const MenuTrigger: react.ForwardRefExoticComponent<MenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
//#endregion
export { MenuTrigger, type MenuTriggerProps };