import { t as DisclosureStore } from "./disclosure-store-DsqFEX-x.js";
import { i as CompositeStoreOptions, n as CompositeStoreFunctions, o as CompositeStoreState } from "./composite-store-9jZQUYDt.js";
import { t as ComboboxStore } from "./combobox-store-FilGAecN.js";
import { a as HovercardStoreState, n as HovercardStoreFunctions, r as HovercardStoreOptions } from "./hovercard-store-BMrm9p-r.js";
import { t as MenubarStore } from "./menubar-store-DGDbJ-7w.js";
import { BivariantCallback, PickRequired } from "@ariakit/utils";
import { Store } from "@ariakit/react-store";
import * as Core from "@ariakit/components/menu/menu-store";
//#region src/menu/menu-store.d.ts
declare function useMenuStoreProps<T extends Core.MenuStore>(store: T, update: () => void, props: MenuStoreProps): T & {
  disclosure: DisclosureStore | null | undefined;
} & {
  combobox: ComboboxStore<import("@ariakit/components/combobox/combobox-store").ComboboxStoreSelectedValue> | null | undefined;
  parent: MenuStore<Core.MenuStoreValues> | null | undefined;
  menubar: MenubarStore | null | undefined;
};
/**
 * Creates a menu store to control the state of
 * [Menu](https://ariakit.com/components/menu) components.
 * @see https://ariakit.com/components/menu
 * @example
 * ```jsx
 * const menu = useMenuStore({ placement: "top" });
 *
 * <MenuButton store={menu}>Edit</MenuButton>
 * <Menu store={menu}>
 *   <MenuItem>Undo</MenuItem>
 *   <MenuItem>Redo</MenuItem>
 * </Menu>
 * ```
 */
declare function useMenuStore<T extends MenuStoreValues = MenuStoreValues>(props: PickRequired<MenuStoreProps<T>, "values" | "defaultValues">): MenuStore<T>;
declare function useMenuStore(props?: MenuStoreProps): MenuStore;
type MenuStoreValues = Core.MenuStoreValues;
interface MenuStoreState<T extends MenuStoreValues = MenuStoreValues> extends Core.MenuStoreState<T>, CompositeStoreState, HovercardStoreState {}
interface MenuStoreFunctions<T extends MenuStoreValues = MenuStoreValues> extends Pick<MenuStoreOptions, "combobox" | "parent" | "menubar" | "disclosure">, Omit<Core.MenuStoreFunctions<T>, "combobox" | "parent" | "menubar" | "disclosure">, CompositeStoreFunctions, HovercardStoreFunctions {}
interface MenuStoreOptions<T extends MenuStoreValues = MenuStoreValues> extends Omit<Core.MenuStoreOptions<T>, "disclosure">, CompositeStoreOptions, HovercardStoreOptions {
  /**
   * A callback that gets called when the
   * [`values`](https://ariakit.com/reference/menu-provider#values) state
   * changes.
   *
   * Live examples:
   * - [MenuItemCheckbox](https://ariakit.com/examples/menu-item-checkbox)
   * - [Submenu with
   *   Combobox](https://ariakit.com/examples/menu-nested-combobox)
   */
  setValues?: BivariantCallback<(values: MenuStoreState<T>["values"]) => void>;
  /**
   * A reference to a [combobox
   * store](https://ariakit.com/reference/use-combobox-store). It's
   * automatically set when composing [Menu with
   * Combobox](https://ariakit.com/examples/menu-combobox).
   */
  combobox?: ComboboxStore | null;
  /**
   * A reference to a parent menu store. It's automatically set when nesting
   * menus in the React tree. You should manually set this if menus aren't
   * nested in the React tree.
   *
   * Live examples:
   * - [Menubar](https://ariakit.com/components/menubar)
   * - [Submenu](https://ariakit.com/examples/menu-nested)
   * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
   */
  parent?: MenuStore | null;
  /**
   * A reference to a [menubar
   * store](https://ariakit.com/reference/use-menubar-store). It's automatically
   * set when rendering menus inside a
   * [`Menubar`](https://ariakit.com/reference/menubar) in the React tree.
   *
   * Live examples:
   * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
   */
  menubar?: MenubarStore | null;
}
interface MenuStoreProps<T extends MenuStoreValues = MenuStoreValues> extends MenuStoreOptions<T>, Omit<Core.MenuStoreProps<T>, "combobox" | "parent" | "menubar" | "disclosure"> {}
interface MenuStore<T extends MenuStoreValues = MenuStoreValues> extends MenuStoreFunctions<T>, Omit<Store<Core.MenuStore<T>>, "combobox" | "parent" | "menubar" | "disclosure"> {}
//#endregion
export { MenuStoreState as a, useMenuStoreProps as c, MenuStoreProps as i, MenuStoreFunctions as n, MenuStoreValues as o, MenuStoreOptions as r, useMenuStore as s, MenuStore as t };
//# sourceMappingURL=menu-store-CslKbfzi.d.ts.map