import { FC, ReactElement, RefObject } from 'react'; import { AvatarProps } from '../avatar'; import { type ButtonSize, type ButtonType } from '../buttons'; import { type GroupItemProps } from '../dropdown-menu'; import { type IconProps } from '../icon'; export interface BaseDropdownProps { contentWidth?: number; } interface StyledListboxProps { $left?: number | string; $referenceWidth?: number | undefined; $top?: number | string; $width?: BaseDropdownProps['contentWidth']; } export declare const StyledDropdownMenu: import("styled-components").StyledComponent>, import("styled-components").DefaultTheme, StyledListboxProps, never>; export type DropdownMenuCloseFunction = () => void; export interface DropdownMenuButtonProps extends BaseDropdownProps { align?: 'left' | 'right'; /** * Sets nav's description * @default 'Menu' * */ ariaLabel?: string; buttonAriaLabel?: string; buttonType?: ButtonType; className?: string; /** * Sets dropdown menu width. * If not set, menu width will be determined by its content or the width of the button, whichever is greater. */ contentWidth?: number; /** * Sets menu open by default * @default false * */ defaultOpen?: boolean; disabled?: boolean; dropdownMenuId?: string; /** * Sets chevron icon * @default true * */ hasCaret?: boolean; firstItemRef?: RefObject; icon?: ReactElement; id?: string; inverted?: boolean; label?: string | ReactElement; size?: ButtonSize; title?: string; /** Set wrapper element tag */ tag?: 'div' | 'nav'; onMenuVisibilityChanged?(isOpen: boolean): void; render?(close: () => void): ReactElement | ReactElement[]; } export declare const DropdownMenuButton: FC; export {};