import { Menu as MenuPrimitive } from '@base-ui/react/menu';
import { MenuItemVariant } from '../../lib/variants';
import * as React from "react";
type DropdownMenuProps = MenuPrimitive.Root.Props;
/**
 * Root component for dropdown menus. Manages open/close state and keyboard navigation.
 * Use `open` and `onOpenChange` for controlled state, or `defaultOpen` for uncontrolled.
 */
declare function DropdownMenu({ ...props }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuPortalProps = MenuPrimitive.Portal.Props;
/** Portal component for rendering dropdown menu content outside the DOM hierarchy. */
declare function DropdownMenuPortal({ ...props }: DropdownMenuPortalProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuTriggerProps = MenuPrimitive.Trigger.Props;
/** Button that opens the dropdown menu. Use `render` prop to customize trigger element. */
declare function DropdownMenuTrigger({ ...props }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuContentProps = MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">;
/**
 * Dropdown menu content container with automatic portal and positioning.
 * Supports alignment, side positioning, and animated transitions.
 */
declare function DropdownMenuContent({ align, alignOffset, side, sideOffset, className, ...props }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuGroupProps = MenuPrimitive.Group.Props;
/** Group container for related menu items. Use with DropdownMenuLabel for labeled sections. */
declare function DropdownMenuGroup({ ...props }: DropdownMenuGroupProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuLabelProps = MenuPrimitive.GroupLabel.Props & {
    /** Add extra left padding to align with items that have icons. @default false */
    inset?: boolean;
};
/**
 * Label for a group of menu items. Typically used inside DropdownMenuGroup.
 */
declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuItemProps = MenuPrimitive.Item.Props & {
    /** Add extra left padding to align with items that have icons. @default false */
    inset?: boolean;
    /** Visual variant for the menu item. @default "default" */
    variant?: MenuItemVariant;
};
/**
 * Individual menu item. Supports variants (default, destructive, success, warning, info)
 * and inset padding for alignment.
 */
declare function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuSubProps = MenuPrimitive.SubmenuRoot.Props;
/** Root component for nested submenus. Wrap DropdownMenuSubTrigger and DropdownMenuSubContent. */
declare function DropdownMenuSub({ ...props }: DropdownMenuSubProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuSubTriggerProps = MenuPrimitive.SubmenuTrigger.Props & {
    /** Add extra left padding to align with items that have icons. @default false */
    inset?: boolean;
};
/**
 * Trigger button for opening a submenu. Automatically displays chevron icon on the right.
 */
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: DropdownMenuSubTriggerProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuSubContentProps = React.ComponentProps<typeof DropdownMenuContent>;
/**
 * Content container for submenu items. Automatically positioned to the side of the trigger.
 */
declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: DropdownMenuSubContentProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuCheckboxItemProps = MenuPrimitive.CheckboxItem.Props;
/**
 * Menu item with checkbox. Use `checked` and `onCheckedChange` props for state management.
 * Displays checkmark indicator when checked.
 */
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: DropdownMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuRadioGroupProps = MenuPrimitive.RadioGroup.Props;
/**
 * Container for radio items. Use `value` and `onValueChange` props for state management.
 * Only one radio item can be selected at a time.
 */
declare function DropdownMenuRadioGroup({ ...props }: DropdownMenuRadioGroupProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuRadioItemProps = MenuPrimitive.RadioItem.Props;
/**
 * Radio item for mutually exclusive selection. Must be used inside DropdownMenuRadioGroup.
 * Displays checkmark indicator when selected.
 */
declare function DropdownMenuRadioItem({ className, children, ...props }: DropdownMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuSeparatorProps = MenuPrimitive.Separator.Props;
/** Visual separator between menu items or groups. */
declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): import("react/jsx-runtime").JSX.Element;
type DropdownMenuShortcutProps = React.ComponentProps<"span">;
/**
 * Keyboard shortcut display component. Positioned to the right of menu items.
 * For visual purposes only - does not implement actual keyboard shortcuts.
 */
declare function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, type DropdownMenuProps, type DropdownMenuPortalProps, type DropdownMenuTriggerProps, type DropdownMenuContentProps, type DropdownMenuGroupProps, type DropdownMenuLabelProps, type DropdownMenuItemProps, type DropdownMenuCheckboxItemProps, type DropdownMenuRadioGroupProps, type DropdownMenuRadioItemProps, type DropdownMenuSeparatorProps, type DropdownMenuShortcutProps, type DropdownMenuSubProps, type DropdownMenuSubTriggerProps, type DropdownMenuSubContentProps, };
//# sourceMappingURL=dropdown-menu.d.ts.map