import * as React from 'react';
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
declare const DropdownMenuRoot: {
    ({ children, open, defaultOpen, onOpenChange, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
declare const DropdownMenuGroup: {
    ({ children, className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuPortal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
interface DropdownMenuSubTriggerProps extends React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.SubTrigger> {
    inset?: boolean;
}
declare const DropdownMenuSubTrigger: {
    ({ inset, children, className, ...props }: DropdownMenuSubTriggerProps): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuSubContent: {
    ({ className, style, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuContent: {
    ({ sideOffset, className, style, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuItem: {
    ({ inset, className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Item> & {
        inset?: boolean;
    }): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuCheckboxItem: {
    ({ children, checked, className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.CheckboxItem>): React.JSX.Element;
    displayName: string;
};
interface DropdownMenuRadioItemProps extends React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.RadioItem> {
    size?: 'small' | 'medium';
    showCheckIcon?: boolean;
}
declare const DropdownMenuRadioItem: {
    ({ children, className, size, showCheckIcon, ...props }: DropdownMenuRadioItemProps): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuLabel: {
    ({ inset, className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Label> & {
        inset?: boolean;
    }): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuSeparator: {
    ({ className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuArrow: {
    ({ className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Arrow>): React.JSX.Element;
    displayName: string;
};
declare const DropdownMenuItemIndicator: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
declare const DropdownMenuShortcut: {
    ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
    displayName: string;
};
type DropdownMenuWrapperProps = DropdownMenuPrimitive.DropdownMenuProps & Omit<React.ComponentPropsWithRef<typeof DropdownMenuContent>, 'children'> & {
    trigger: React.ReactNode;
    ariaLabel?: string;
    isPortal?: boolean;
    children?: React.ReactNode;
};
declare const DropdownMenuWrapper: {
    ({ trigger, ariaLabel, isPortal, children, open, defaultOpen, onOpenChange, modal, dir, ...contentProps }: DropdownMenuWrapperProps): React.JSX.Element;
    displayName: string;
};
type DropdownMenuGroupedItemProps = DropdownMenuPrimitive.DropdownMenuItemProps & {
    children?: React.ReactNode;
};
type DropdownMenuGroupConfig = {
    items: DropdownMenuGroupedItemProps[];
    label?: string;
};
type DropdownMenuComposedProps = DropdownMenuWrapperProps & {
    groups: DropdownMenuGroupConfig[];
};
declare const DropdownMenu: {
    ({ groups, ...wrapperProps }: DropdownMenuComposedProps): React.JSX.Element;
    displayName: string;
};
export { DropdownMenuRoot, DropdownMenuTrigger, DropdownMenuPortal, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuItemIndicator, DropdownMenuSeparator, DropdownMenuArrow, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuShortcut, DropdownMenuWrapper, DropdownMenu, };
export type { DropdownMenuSubTriggerProps, DropdownMenuWrapperProps, DropdownMenuGroupedItemProps, DropdownMenuGroupConfig, DropdownMenuComposedProps, };
//# sourceMappingURL=index.d.ts.map