import type { MenuActiveValueContextType, MenuContextType, IMenuProps, IMenuTriggerProps, IMenuPortalProps, IMenuGroupProps, IMenuGroupLabelProps, IMenuSubmenuProps, IMenuSubmenuTriggerProps, IMenuHighlightProps, IMenuHighlightItemProps, IMenuPositionerProps, IMenuPopupProps, IMenuItemProps, IMenuCheckboxItemProps, IMenuCheckboxItemIndicatorProps, IMenuRadioGroupProps, IMenuRadioItemProps, IMenuRadioItemIndicatorProps, IMenuShortcutProps, IMenuArrowProps, IMenuSeparatorProps } from './Menu.types';
declare const useMenuActiveValue: () => MenuActiveValueContextType;
declare const useMenu: () => MenuContextType;
/**
* Root Menu component -- provides open/close state and highlighted-value context.
* Wraps base-ui Menu.Root with controlled state management.
*
* @param open - Controlled open state
* @param defaultOpen - Uncontrolled initial open state
* @param onOpenChange - Callback when open state changes
* @param slots - Partial class overrides per slot
* @param config - Menu behavior / animation configuration
*
* @example
* ```tsx
*
* ```
*/
declare function Menu({ slots, config, ...props }: IMenuProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuTrigger -- the interactive element that toggles the menu open/closed.
* Renders a base-ui Menu.Trigger with the `trigger` slot classes.
*
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* Open Menu
*
* ```
*/
declare function MenuTrigger({ slots, className, ...props }: IMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuPortal -- wraps menu content in a portal with AnimatePresence.
* Internally keeps the portal mounted and uses AnimatePresence for
* smooth enter/exit transitions of children.
*
* @example
* ```tsx
*
*
* ...
*
*
* ```
*/
declare function MenuPortal(props: IMenuPortalProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuGroup -- logical grouping of related menu items.
* Renders a base-ui Menu.Group with the `group` slot classes.
*
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* Editing
*
*
*
* ```
*/
declare function MenuGroup({ slots, className, ...props }: IMenuGroupProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuGroupLabel -- heading text for a MenuGroup.
* Renders a base-ui Menu.GroupLabel with the `groupLabel` slot classes.
*
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* Navigation
*
* ```
*/
declare function MenuGroupLabel({ slots, className, ...props }: IMenuGroupLabelProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuSubmenu -- a nested sub-menu with its own open/close state.
* Wraps base-ui Menu.SubmenuRoot and provides a scoped MenuProvider.
*
* @param open - Controlled open state
* @param defaultOpen - Uncontrolled initial open state
* @param onOpenChange - Callback when open state changes
*
* @example
* ```tsx
*
* More Actions
*
*
*
*
*
*
*
*
* ```
*/
declare function MenuSubmenu(props: IMenuSubmenuProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuSubmenuTrigger -- the item that opens a submenu on hover/focus.
* Tracks its own highlighted state via useDataState for highlight integration.
*
* @param label - Accessible label for the trigger
* @param id - Unique identifier used for highlight tracking
* @param disabled - Whether the trigger is disabled
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* More...
*
* ```
*/
declare function MenuSubmenuTrigger({ label, id, nativeButton, slots, className, ...props }: IMenuSubmenuTriggerProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuHighlight -- animated background that follows the currently
* focused/highlighted menu item. Wraps the Highlight primitive with
* menu-specific defaults (spring transition, no click activation).
*
* @param transition - Motion transition config (default: spring 350/35)
* @param animateOnHover - Whether to activate on hover
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* ```
*/
declare function MenuHighlight({ transition, slots, className, ...props }: IMenuHighlightProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuHighlightItem -- wraps a MenuItem for highlight position tracking.
* Must be placed inside a MenuHighlight context.
*
* @param slots - Partial class overrides per slot
*
* @example
* ```tsx
*
*
*
*
*
* ```
*/
declare function MenuHighlightItem({ slots, ...props }: IMenuHighlightItemProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuPositioner -- positions the popup relative to the trigger element.
* Thin wrapper over base-ui Menu.Positioner.
*
* @param sideOffset - Gap between trigger and popup
* @param align - Alignment along the trigger edge
*
* @example
* ```tsx
*
* ...
*
* ```
*/
declare function MenuPositioner(props: IMenuPositionerProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuPopup -- the visible flyout surface containing menu items.
* Uses Motion for animated entrance (scale + opacity) and exit.
*
* @param transition - Motion transition config (default: 0.2s duration)
* @param slots - Partial class overrides per slot
* @param className - Additional class names
* @param style - Inline styles merged with will-change hint
*
* @example
* ```tsx
*
*
*
*
* ```
*/
declare function MenuPopup({ finalFocus, id, transition, style, slots, className, ...props }: IMenuPopupProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuItem -- a single actionable row within the menu.
* Tracks highlight state via useDataState for animated highlight integration.
*
* @param id - Unique identifier, also used as highlight tracking value
* @param label - Accessible label
* @param disabled - Whether the item is disabled
* @param closeOnClick - Close menu when this item is clicked
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* ```
*/
declare function MenuItem({ disabled, label, closeOnClick, nativeButton, id, slots, className, ...props }: IMenuItemProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuCheckboxItem -- a toggleable checkbox item within the menu.
* Tracks highlight state for animated highlight integration.
*
* @param checked - Controlled checked state
* @param defaultChecked - Uncontrolled initial checked state
* @param onCheckedChange - Callback when checked state changes
* @param disabled - Whether the item is disabled
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
*
*
*
* Show Grid
*
* ```
*/
declare function MenuCheckboxItem({ label, defaultChecked, checked, onCheckedChange, disabled, closeOnClick, nativeButton, id, slots, className, ...props }: IMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuCheckboxItemIndicator -- the visual check/indeterminate icon.
* Renders via a motion.div for animated enter/exit transitions.
*
* @param keepMounted - Keep in DOM when unchecked (for exit animations)
*
* @example
* ```tsx
*
*
*
* ```
*/
declare function MenuCheckboxItemIndicator({ keepMounted, ...props }: IMenuCheckboxItemIndicatorProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuRadioGroup -- groups radio items for single-selection within a menu.
* Wraps base-ui Menu.RadioGroup.
*
* @param value - Controlled selected value
* @param defaultValue - Uncontrolled initial selected value
* @param onValueChange - Callback when selection changes
*
* @example
* ```tsx
*
* Name
* Date
* Size
*
* ```
*/
declare function MenuRadioGroup(props: IMenuRadioGroupProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuRadioItem -- a single option within a MenuRadioGroup.
* Tracks highlight state for animated highlight integration.
*
* @param value - The value this item represents
* @param disabled - Whether the item is disabled
* @param label - Accessible label
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
*
*
*
* Sort by Name
*
* ```
*/
declare function MenuRadioItem({ value, disabled, label, closeOnClick, nativeButton, id, slots, className, ...props }: IMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuRadioItemIndicator -- the selection dot/icon for a radio item.
* Renders via a motion.div for animated enter/exit transitions.
*
* @param keepMounted - Keep in DOM when unselected (for exit animations)
*
* @example
* ```tsx
*
*
*
* ```
*/
declare function MenuRadioItemIndicator({ keepMounted, ...props }: IMenuRadioItemIndicatorProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuShortcut -- displays a keyboard shortcut hint aligned to the right.
* Renders a plain `` with the `shortcut` slot classes.
*
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
* ```
*/
declare function MenuShortcut({ slots, className, ...props }: IMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuArrow -- the directional caret/arrow on the popup edge.
* Wraps base-ui Menu.Arrow.
*
* @example
* ```tsx
*
*
*
*
* ```
*/
declare function MenuArrow(props: IMenuArrowProps): import("react/jsx-runtime").JSX.Element;
/**
* MenuSeparator -- a horizontal divider between menu items or groups.
* Renders a base-ui Menu.Separator with the `separator` slot classes.
*
* @param slots - Partial class overrides per slot
* @param className - Additional class names
*
* @example
* ```tsx
*
*
*
* ```
*/
declare function MenuSeparator({ slots, className, ...props }: IMenuSeparatorProps): import("react/jsx-runtime").JSX.Element;
export { Menu, MenuTrigger, MenuPortal, MenuPositioner, MenuPopup, MenuArrow, MenuItem, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuGroup, MenuGroupLabel, MenuSeparator, MenuShortcut, MenuHighlight, MenuHighlightItem, MenuSubmenu, MenuSubmenuTrigger, useMenuActiveValue, useMenu, };
export type { IMenuProps, IMenuTriggerProps, IMenuPortalProps, IMenuPositionerProps, IMenuPopupProps, IMenuArrowProps, IMenuItemProps, IMenuCheckboxItemProps, IMenuCheckboxItemIndicatorProps, IMenuRadioItemProps, IMenuRadioItemIndicatorProps, IMenuRadioGroupProps, IMenuGroupProps, IMenuGroupLabelProps, IMenuSeparatorProps, IMenuShortcutProps, IMenuHighlightProps, IMenuHighlightItemProps, IMenuSubmenuProps, IMenuSubmenuTriggerProps, IMenuConfig, MenuActiveValueContextType, MenuContextType, } from './Menu.types';
export type { MenuSlot } from './Menu.styles';
//# sourceMappingURL=index.d.ts.map