
"use client";
import { UniversalMenuItemProps } from "../../../types/dist/index.js";
import { PressableProps } from "../Pressable.js";
import * as _$react from "react";
import { HTMLAttributes } from "react";
import { MenuItemCheckboxProps as MenuItemCheckboxProps$1 } from "@ariakit/react/menu";

//#region src/components/client/Menu/Menu.ItemCheckbox.d.ts
type HtmlButtonProps = HTMLAttributes<HTMLButtonElement>;
interface MenuItemCheckboxProps extends Omit<PressableProps, 'asChild'>, HtmlButtonProps, UniversalMenuItemProps {
  /**
   * The name of the field in the
   * [`values`](https://ariakit.org/reference/menu-provider#values) state.
   *
   * Live examples at [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
   */
  name: string;
  /**
   * The controlled checked state of the element. It will set the menu
   * [`values`](https://ariakit.org/reference/menu-provider#values) state if
   * provided.
   */
  checked?: boolean;
  /**
   * The default checked state of the element. It will set the default value in
   * the menu [`values`](https://ariakit.org/reference/menu-provider#values)
   * state if provided.
   */
  defaultChecked?: boolean;
  /**
   * 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?: MenuItemCheckboxProps$1['store'];
  /**
   * Determines if the menu should hide when this item is clicked.
   *
   * **Note**: This behavior isn't triggered if this menu item is rendered as a
   * link and modifier keys are used to either open the link in a new tab or
   * download it.
   *
   * @default undefined
   */
  hideOnClick?: MenuItemCheckboxProps$1['hideOnClick'];
}
/**
 * **✅ A Menu Item Checkbox component**
 *
 * @componentType Client component
 *
 * @description
 * A checkable menu item that toggles between selected and unselected states. Menu item checkboxes
 * allow users to select multiple options from a menu, displaying a checkmark when active. They maintain
 * their state even when the menu is closed and reopened.
 *
 * @see The {@link https://uds.build/docs/components/menu-item-checkbox Menu.ItemCheckbox Docs} for more info
 *
 * @example
 * ```tsx
 * 'use client'; // Next.js client component
 *
 * import { Menu, Button } from "@yahoo/uds";
 *
 * export function MenuItemCheckboxExample() {
 *   return (
 *     <Menu.Provider>
 *       <Menu.Trigger asChild>
 *         <Button>Filter Options</Button>
 *       </Menu.Trigger>
 *       <Menu.Content>
 *         <Menu.ItemCheckbox name="showArchived" defaultChecked={false}>
 *           Show Archived
 *         </Menu.ItemCheckbox>
 *         <Menu.ItemCheckbox name="includeComments" defaultChecked={true}>
 *           Include Comments
 *         </Menu.ItemCheckbox>
 *       </Menu.Content>
 *     </Menu.Provider>
 *   )
 * }
 * ```
 *
 * @usage
 * Use MenuItemCheckbox when you need to provide users with multiple selectable options within a menu.
 * Unlike radio options, checkboxes allow for multiple simultaneous selections.
 *
 * @related [Menu](https://uds.build/docs/components/menu), [Menu.Item](https://uds.build/docs/components/menu-item)
 **/
declare const MenuItemCheckbox: _$react.ForwardRefExoticComponent<Omit<MenuItemCheckboxProps, "active" | "hideEndIcon" | "rootProps"> & _$react.RefAttributes<HTMLDivElement>>;
//#endregion
export { MenuItemCheckbox, type MenuItemCheckboxProps };