import React from "react";
import { Menu as DropdownMenuPrimitive } from "@base-ui/react/menu";
import { alignPositions } from "@base-repo/constants/tools-constants";
interface DropdownMenuRadioItemProps {
    className: string;
    value: string;
    children: React.ReactNode;
    ref?: React.Ref<React.ComponentRef<typeof DropdownMenuPrimitive.RadioItem>>;
}
/**
 * Dropdown menu root container
 *
 * Based on [DropdownMenu](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
 *  function MyComponent() {
        const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);

        return (
            <DropdownMenu open={isDropdownMenuOpen} onOpenChange={setIsDropdownMenuOpen}>
            ...
            </DropdownMenu>
 *      );
 *  }
 * ```
 */
declare const DropdownMenu: typeof DropdownMenuPrimitive.Root;
/**
 * Dropdown menu trigger
 *
 * Based on [DropdownMenu.Trigger](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare const DropdownMenuTrigger: DropdownMenuPrimitive.Trigger;
/**
 * Dropdown menu group container
 *
 * Based on [DropdownMenu.Group](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Dropdown menu portal
 *
 * Based on [DropdownMenu.Portal](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare const DropdownMenuPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Based on [DropdownMenu.RadioGroup](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
    function MyComponent() {
        const [radioValue, setRadioValue] = useState("defaultValue");

        return (
            <DropdownMenu>
                <DropdownMenuTrigger>Open menu</DropdownMenuTrigger>
                <DropdownMenuContent>
                    <DropdownMenuRadioGroup value={radioValue} onValueChange={setRadioValue}>
                        <DropdownMenuRadioItem className="px-2" value="defaultValue">
                            Default
                        </DropdownMenuRadioItem>
                        <DropdownMenuRadioItem className="px-2" value="compactValue">
                            Compact
                        </DropdownMenuRadioItem>
                    </DropdownMenuRadioGroup>
                </DropdownMenuContent>
            </DropdownMenu>
        );
    }
 * ```
 */
declare const DropdownMenuRadioGroup: React.NamedExoticComponent<Omit<import("@base-ui/react").ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Dropdown menu submenu trigger
 *
 * Based on [DropdownMenu.SubTrigger](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare function DropdownMenuSubTrigger({ className, inset, ref, children, }: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuTrigger> & {
    inset?: boolean;
}): React.JSX.Element;
declare namespace DropdownMenuSubTrigger {
    var displayName: string;
}
/**
 * Dropdown menu submenu content container
 *
 * Based on [DropdownMenu.SubContent](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare function DropdownMenuSubContent({ className, ref, children, }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Popup> & {
    ref?: React.Ref<React.ComponentRef<typeof DropdownMenuPrimitive.Popup>>;
    children?: React.ReactNode;
}): React.JSX.Element;
declare namespace DropdownMenuSubContent {
    var displayName: string;
}
/**
 * Dropdown menu content container
 *
 * Based on [DropdownMenu.Content](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
    function MyComponent() {
        return (
            <DropdownMenu>
                <DropdownMenuTrigger>Open menu</DropdownMenuTrigger>
                <DropdownMenuContent align="start" onMouseLeave={...}>
                    <DropdownMenuItem>Profile</DropdownMenuItem>
                    <DropdownMenuItem>Sign out</DropdownMenuItem>
                </DropdownMenuContent>
            </DropdownMenu>
        );
    }
 *  ```
 */
declare function DropdownMenuContent({ className, ref, children, align, }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Popup> & {
    ref?: React.Ref<React.ComponentRef<typeof DropdownMenuPrimitive.Popup>>;
    children?: React.ReactNode;
    align?: typeof alignPositions.start | typeof alignPositions.center | typeof alignPositions.end;
}): React.JSX.Element;
declare namespace DropdownMenuContent {
    var displayName: string;
}
/**
 * Dropdown menu item
 *
 * Based on [DropdownMenu.Item](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
    <DropdownMenuItem onSelect={...} onClick={...}>
        Profile
    </DropdownMenuItem>
 *  ```
 */
declare function DropdownMenuItem({ className, inset, children, ref, disabled, onSelect, onClick, }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
    inset?: boolean;
    children?: React.ReactNode;
}): React.JSX.Element;
declare namespace DropdownMenuItem {
    var displayName: string;
}
/**
 * Dropdown menu checkbox item
 *
 * Based on [DropdownMenu.CheckboxItem](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
 *  function MyComponent() {
        const [isCheckboxChecked, setIsCheckboxChecked] = useState(false);

        return (
            <DropdownMenuCheckboxItem checked={isCheckboxChecked} onCheckedChange={setIsCheckboxChecked}>
            ...
            </DropdownMenuCheckboxItem>
 *      );
 *  }
 * ```
 */
declare function DropdownMenuCheckboxItem({ className, children, ref, checked, onCheckedChange, disabled, }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): React.JSX.Element;
declare namespace DropdownMenuCheckboxItem {
    var displayName: string;
}
/**
 * Dropdown menu radio item
 *
 * Based on [DropdownMenu.RadioItem](https:/ui.shadcn.com/docs/components/dropdown-menu)
 *
 * @example
 * ```tsx
    <DropdownMenuRadioGroup value="top" onValueChange={...}>
        <DropdownMenuRadioItem className="px-2" value="top">
            Top
        </DropdownMenuRadioItem>
    </DropdownMenuRadioGroup>
 * ```
 */
declare function DropdownMenuRadioItem({ className, children, value, ref }: DropdownMenuRadioItemProps): React.JSX.Element;
declare namespace DropdownMenuRadioItem {
    var displayName: string;
}
/**
 * Dropdown menu label
 *
 * Based on [DropdownMenu.Label](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare function DropdownMenuLabel({ className, ref, children, }: React.ComponentProps<typeof DropdownMenuPrimitive.GroupLabel> & {
    children?: React.ReactNode;
}): React.JSX.Element;
declare namespace DropdownMenuLabel {
    var displayName: string;
}
/**
 * Dropdown menu separator
 *
 * Based on [DropdownMenu.Separator](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare function DropdownMenuSeparator({ className, ref, }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
declare namespace DropdownMenuSeparator {
    var displayName: string;
}
/**
 * Dropdown menu shortcut
 *
 * Based on [DropdownMenu](https:/ui.shadcn.com/docs/components/dropdown-menu)
 */
declare function DropdownMenuShortcut({ className, children }: React.ComponentProps<"span">): React.JSX.Element;
declare namespace DropdownMenuShortcut {
    var displayName: string;
}
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
