import { Menu as MenuPrimitive } from '@base-ui/react/menu';
import type * as React from 'react';
declare function DropdownMenuRoot({ ...props }: MenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuRoot {
    var displayName: string;
}
declare function DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuPortal {
    var displayName: string;
}
declare function DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuTrigger {
    var displayName: string;
}
declare function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuGroup {
    var displayName: string;
}
declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuSub {
    var displayName: string;
}
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: MenuPrimitive.SubmenuTrigger.Props & {
    inset?: boolean;
}): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuSubTrigger {
    var displayName: string;
}
declare function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuRadioGroup {
    var displayName: string;
}
declare function DropdownMenuRadioItem({ className, children, ...props }: MenuPrimitive.RadioItem.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuRadioItem {
    var displayName: string;
}
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: MenuPrimitive.CheckboxItem.Props): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuCheckboxItem {
    var displayName: string;
}
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuShortcut {
    var displayName: string;
}
/**
 * Enhanced DropdownMenuPopup with HumainOS styling
 */
export interface DropdownMenuPopupProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Menu content */
    children?: React.ReactNode;
    /** Width of the dropdown menu */
    width?: 'auto' | 'sm' | 'md' | 'lg';
    /** Side offset from the trigger */
    sideOffset?: number;
    /** Side to show the menu on */
    side?: 'top' | 'right' | 'bottom' | 'left';
    /** Alignment of the menu */
    align?: 'start' | 'center' | 'end';
    /** Align offset */
    alignOffset?: number;
}
declare function DropdownMenuPopup({ align, alignOffset, side, sideOffset, width, className, ...props }: DropdownMenuPopupProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuPopup {
    var displayName: string;
}
declare function DropdownMenuSubPopup({ align, alignOffset, side, sideOffset, className, ...props }: DropdownMenuPopupProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuSubPopup {
    var displayName: string;
}
/**
 * Header section for dropdown menu with avatar and user info
 */
export interface DropdownMenuHeaderProps extends React.ComponentProps<'div'> {
    /** Avatar element to display */
    avatar?: React.ReactNode;
    /** Primary text (e.g., user name) */
    title?: string;
    /** Secondary text (e.g., email) */
    subtitle?: string;
}
declare function DropdownMenuHeader({ className, avatar, title, subtitle, children, ...props }: DropdownMenuHeaderProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuHeader {
    var displayName: string;
}
export interface DropdownMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Whether the label is inset */
    inset?: boolean;
}
/**
 * Enhanced DropdownMenuLabel
 */
declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuLabel {
    var displayName: string;
}
/**
 * Enhanced DropdownMenuItem with icon and shortcut support
 */
export interface DropdownMenuItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
    /** Item content */
    children?: React.ReactNode;
    /** Icon displayed before the label */
    icon?: React.ReactNode;
    /** Keyboard shortcut displayed on the right */
    shortcut?: string;
    /** Makes the item destructive (red text) */
    destructive?: boolean;
    /** Whether the item is disabled */
    disabled?: boolean;
    /**
     * Render as a different element (Base UI pattern).
     * Use this to render as a custom component like Link or anchor.
     * @example render={<Link to="/profile" />}
     */
    render?: React.ReactElement;
    /** Whether the item is inset */
    inset?: boolean;
    /** Variant for styling */
    variant?: 'default' | 'destructive';
}
declare function DropdownMenuItem({ className, icon, shortcut, destructive, render, inset, variant, children, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuItem {
    var displayName: string;
}
export interface DropdownMenuSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
}
/**
 * Enhanced DropdownMenuSeparator
 */
declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuSeparator {
    var displayName: string;
}
export interface DropdownMenuItemsProps extends React.HTMLAttributes<HTMLDivElement> {
}
/**
 * Container for menu items with proper padding
 */
declare function DropdownMenuItems({ className, children, ...props }: DropdownMenuItemsProps): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuItems {
    var displayName: string;
}
/**
 * Styled shortcut badge that matches Figma design (uses Kbd wrapper)
 */
declare function DropdownMenuShortcutBadge({ className, children, ...props }: React.ComponentProps<'kbd'>): import("react/jsx-runtime").JSX.Element;
declare namespace DropdownMenuShortcutBadge {
    var displayName: string;
}
export interface SimpleDropdownMenuProps {
    /** The element that triggers the dropdown (required) */
    trigger: React.ReactElement;
    /** Dropdown content (typically DropdownMenu.Popup component) */
    children?: React.ReactNode;
    /** Controlled open state. When provided, component is controlled. */
    open?: boolean;
    /** Callback when open state changes */
    onOpenChange?: (open: boolean) => void;
}
/**
 * Simplified DropdownMenu component with explicit trigger prop.
 * Prevents nested button hydration errors by using base-ui's render prop.
 *
 * @example
 * <SimpleDropdownMenu trigger={<Button>Menu</Button>}>
 *   <DropdownMenu.Popup>
 *     <DropdownMenu.Items>
 *       <DropdownMenu.Item>Option 1</DropdownMenu.Item>
 *     </DropdownMenu.Items>
 *   </DropdownMenu.Popup>
 * </SimpleDropdownMenu>
 */
declare function SimpleDropdownMenu({ trigger, open, onOpenChange, children, }: SimpleDropdownMenuProps): import("react/jsx-runtime").JSX.Element;
declare namespace SimpleDropdownMenu {
    var displayName: string;
}
export declare const DropdownMenu: typeof DropdownMenuRoot & {
    Root: typeof DropdownMenuRoot;
    Portal: typeof DropdownMenuPortal;
    Trigger: typeof DropdownMenuTrigger;
    Popup: typeof DropdownMenuPopup;
    Group: typeof DropdownMenuGroup;
    Label: typeof DropdownMenuLabel;
    Item: typeof DropdownMenuItem;
    CheckboxItem: typeof DropdownMenuCheckboxItem;
    RadioGroup: typeof DropdownMenuRadioGroup;
    RadioItem: typeof DropdownMenuRadioItem;
    Separator: typeof DropdownMenuSeparator;
    Shortcut: typeof DropdownMenuShortcut;
    ShortcutBadge: typeof DropdownMenuShortcutBadge;
    Sub: typeof DropdownMenuSub;
    SubTrigger: typeof DropdownMenuSubTrigger;
    SubPopup: typeof DropdownMenuSubPopup;
    Header: typeof DropdownMenuHeader;
    Items: typeof DropdownMenuItems;
    Simple: typeof SimpleDropdownMenu;
};
export type DropdownMenuPopupWrapperProps = DropdownMenuPopupProps;
export type DropdownMenuItemWrapperProps = DropdownMenuItemProps;
export type DropdownMenuHeaderWrapperProps = DropdownMenuHeaderProps;
export {};
