import type { ElementType } from "react"; import type { CompositeTypeaheadOptions } from "../composite/composite-typeahead.tsx"; import type { HovercardAnchorOptions } from "../hovercard/hovercard-anchor.tsx"; import type { PopoverDisclosureOptions } from "../popover/popover-disclosure.tsx"; import type { Props } from "../utils/types.ts"; import type { MenuStore } from "./menu-store.ts"; declare const TagName = "button"; type TagName = typeof TagName | "div"; /** * Returns props to create a `MenuButton` component. * @see https://ariakit.com/components/menu * @example * ```jsx * const store = useMenuStore(); * const props = useMenuButton({ store }); * Edit * * Undo * Redo * * ``` */ export declare const useMenuButton: import("../utils/types.ts").Hook>; /** * Renders a menu button that toggles the visibility of a * [`Menu`](https://ariakit.com/reference/menu) component when clicked or when * using arrow keys. * @see https://ariakit.com/components/menu * @example * ```jsx {2} * * Edit * * Undo * Redo * * * ``` */ export declare const MenuButton: (props: MenuButtonProps) => import("react").ReactElement>; export interface MenuButtonOptions extends HovercardAnchorOptions, PopoverDisclosureOptions, CompositeTypeaheadOptions { /** * Object returned by the * [`useMenuStore`](https://ariakit.com/reference/use-menu-store) hook. If not * provided, the closest * [`MenuProvider`](https://ariakit.com/reference/menu-provider) component's * context will be used. */ store?: MenuStore; /** * Determines whether pressing a character key while focusing on the * [`MenuButton`](https://ariakit.com/reference/menu-button) should move focus * to the [`MenuItem`](https://ariakit.com/reference/menu-item) starting with * that character. * * By default, it's `true` for menu buttons in a * [`Menubar`](https://ariakit.com/reference/menubar), but `false` for other * menu buttons. */ typeahead?: boolean; } export type MenuButtonProps = Props>; export {};