import type { AriaAttributes } from "react"; import React from "react"; import type { IconName } from "../Icon/Icon"; import type { ButtonSize } from "../../types"; import type { MenuItemProps } from "./MenuItem"; import type { PortalProps } from "../Portal/Portal"; type Separator = "separator"; export type DropdownItem = MenuItemProps | Separator; export type DropdownPrivateProps = { dropdownSquareCorners?: boolean | ("TopLeft" | "TopRight" | "BottomLeft" | "BottomRight")[]; }; export type DropdownMenuProps = { /** an array of menu items, contains "label" and "onSelect" */ menuItems: DropdownItem[]; /** the text variant of menu items */ menuItemTextVariant?: "uppercase" | "capitalize" | "lowercase" | "none"; iconName?: IconName; disabled?: boolean; triggerAriaLabel?: string; /** Dropdown menu open state callback */ onMenuOpen?: (e: MouseEvent | KeyboardEvent) => void; /** Dropdown menu close state callback */ onMenuClose?: (e: MouseEvent | KeyboardEvent) => void; privateProps?: DropdownPrivateProps; "data-e2e-test-id"?: string; } & Pick & ConditionalProps & AriaAttributes; type ConditionalProps = { size?: "xs"; label?: never; } | { size?: ButtonSize; label?: string; }; export declare function DropdownMenu({ menuItems, menuItemTextVariant, label, iconName, size, disabled, portalContainer, triggerAriaLabel, onMenuOpen, onMenuClose, privateProps: { dropdownSquareCorners }, "data-e2e-test-id": dataE2eTestId, ...ariaAttributes }: DropdownMenuProps): React.ReactElement; export {};