import { Menu as BaseMenu } from "@base-ui/react/menu";
import { useRender } from "@base-ui/react/use-render";
import * as React from "react";
interface DropdownMenuProps extends React.ComponentPropsWithRef<typeof BaseMenu.Root> {
}
interface DropdownMenuTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Trigger>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Enables child element composition instead of rendering the default wrapper.
     * @default false
     * @deprecated Prefer Base UI's `render` prop.
     */
    asChild?: boolean;
}
interface DropdownMenuSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.SubmenuTrigger>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Applies inset spacing to align nested content.
     * @default false
     */
    inset?: boolean;
}
interface DropdownMenuContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Positioner>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
}
interface DropdownMenuItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Item>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Applies inset spacing to align nested content.
     * @default false
     */
    inset?: boolean;
    /**
     * Enables child element composition instead of rendering the default wrapper.
     * @default false
     * @deprecated Prefer Base UI's `render` prop.
     */
    asChild?: boolean;
}
interface DropdownMenuCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.CheckboxItem>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
}
interface DropdownMenuRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.RadioItem>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
}
interface DropdownMenuLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.GroupLabel>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Applies inset spacing to align nested content.
     * @default false
     */
    inset?: boolean;
}
interface DropdownMenuSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Separator>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
}
interface DropdownMenuShortcutProps extends React.ComponentPropsWithRef<"span"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Overrides the default rendered element while preserving component behavior.
     * @default undefined
     */
    render?: useRender.RenderProp<Record<string, never>>;
    /**
     * Enables child element composition instead of rendering the default wrapper.
     * @default false
     * @deprecated Prefer Base UI's `render` prop.
     */
    asChild?: boolean;
}
/**
 * Coordinates dropdown menu state and accessibility behavior.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <DropdownMenu>Content</DropdownMenu>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenu(props: Readonly<DropdownMenu.Props>): React.ReactElement;
declare namespace DropdownMenu {
    var displayName: string;
}
/**
 * Renders the dropdown menu group.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <DropdownMenuGroup>Content</DropdownMenuGroup>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Provides the dropdown menu portal container.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <DropdownMenuPortal>Content</DropdownMenuPortal>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Coordinates the dropdown menu radio group.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <DropdownMenuRadioGroup>Content</DropdownMenuRadioGroup>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuRadioGroup: React.NamedExoticComponent<Omit<import("@base-ui/react").ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Coordinates the dropdown menu sub.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <DropdownMenuSub>Content</DropdownMenuSub>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuSub: typeof BaseMenu.SubmenuRoot & {
    displayName?: string;
};
/**
 * Renders the dropdown menu trigger.
 *
 * @remarks
 * - Renders a `<button>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuTrigger>Content</DropdownMenuTrigger>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
/**
 * Renders the dropdown menu sub trigger.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuSubTrigger>Content</DropdownMenuSubTrigger>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuSubTrigger(props: Readonly<DropdownMenuSubTrigger.Props>): React.ReactElement;
declare namespace DropdownMenuSubTrigger {
    var displayName: string;
}
/**
 * Renders the dropdown menu sub content.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuSubContent>Content</DropdownMenuSubContent>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuSubContent(props: Readonly<DropdownMenuContent.Props>): React.ReactElement;
declare namespace DropdownMenuSubContent {
    var displayName: string;
}
/**
 * Renders the dropdown menu content.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuContent>Content</DropdownMenuContent>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Renders the dropdown menu item.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuItem>Content</DropdownMenuItem>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuItem(props: Readonly<DropdownMenuItem.Props>): React.ReactElement;
declare namespace DropdownMenuItem {
    var displayName: string;
}
/**
 * Renders the dropdown menu checkbox item.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuCheckboxItem>Content</DropdownMenuCheckboxItem>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuCheckboxItem(props: Readonly<DropdownMenuCheckboxItem.Props>): React.ReactElement;
declare namespace DropdownMenuCheckboxItem {
    var displayName: string;
}
/**
 * Renders the dropdown menu radio item.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuRadioItem>Content</DropdownMenuRadioItem>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuRadioItem(props: Readonly<DropdownMenuRadioItem.Props>): React.ReactElement;
declare namespace DropdownMenuRadioItem {
    var displayName: string;
}
/**
 * Renders the dropdown menu label.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuLabel>Content</DropdownMenuLabel>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuLabel(props: Readonly<DropdownMenuLabel.Props>): React.ReactElement;
declare namespace DropdownMenuLabel {
    var displayName: string;
}
/**
 * Renders the dropdown menu separator.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuSeparator>Content</DropdownMenuSeparator>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuSeparator(props: Readonly<DropdownMenuSeparator.Props>): React.ReactElement;
declare namespace DropdownMenuSeparator {
    var displayName: string;
}
/**
 * Renders the dropdown menu shortcut.
 *
 * @remarks
 * - Renders a `<span>` element by default
 * - Built on {@link https://base-ui.com/react/components/menu | Base UI Menu}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <DropdownMenuShortcut>Content</DropdownMenuShortcut>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/menu | Base UI Documentation}
 */
declare function DropdownMenuShortcut(props: Readonly<DropdownMenuShortcut.Props>): React.ReactElement;
declare namespace DropdownMenuShortcut {
    var displayName: string;
}
declare namespace DropdownMenu {
    type Props = DropdownMenuProps;
    type State = BaseMenu.Root.State;
}
declare namespace DropdownMenuTrigger {
    type Props = DropdownMenuTriggerProps;
    type State = BaseMenu.Trigger.State;
}
declare namespace DropdownMenuSubTrigger {
    type Props = DropdownMenuSubTriggerProps;
    type State = BaseMenu.SubmenuTrigger.State;
}
declare namespace DropdownMenuContent {
    type Props = DropdownMenuContentProps;
    type State = BaseMenu.Popup.State;
}
declare namespace DropdownMenuSubContent {
    type Props = DropdownMenuContentProps;
    type State = BaseMenu.Popup.State;
}
declare namespace DropdownMenuItem {
    type Props = DropdownMenuItemProps;
    type State = BaseMenu.Item.State;
}
declare namespace DropdownMenuCheckboxItem {
    type Props = DropdownMenuCheckboxItemProps;
    type State = BaseMenu.CheckboxItem.State;
}
declare namespace DropdownMenuRadioItem {
    type Props = DropdownMenuRadioItemProps;
    type State = BaseMenu.RadioItem.State;
}
declare namespace DropdownMenuLabel {
    type Props = DropdownMenuLabelProps;
    type State = BaseMenu.GroupLabel.State;
}
declare namespace DropdownMenuSeparator {
    type Props = DropdownMenuSeparatorProps;
    type State = BaseMenu.Separator.State;
}
declare namespace DropdownMenuShortcut {
    type Props = DropdownMenuShortcutProps;
    type State = Record<string, never>;
}
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
//# sourceMappingURL=dropdown-menu.d.ts.map