import { ReactNode, MouseEventHandler } from 'react'; import { PopupPlacement } from '../Popup'; import { ButtonProps } from '../Button'; import { DropdownMenuSize, DropdownMenuItem, DropdownMenuItemMixed, DropdownMenuItemAction } from './types'; import { MenuProps } from '../Menu'; export declare type DropdownMenuProps = { /** * Array of items. * Nested arrays of items represent visually separated groups. */ items?: (DropdownMenuItem | DropdownMenuItem[])[]; /** * Switcher icon. */ icon?: ReactNode; onMenuToggle?: () => void; hideOnScroll?: boolean; /** * Applied for the switcher and the menu. */ size?: DropdownMenuSize; /** * A payload passed to the actions called from the menu. * (Can be useful for context menus.) */ data?: T; /** * Setting this prop to `true` disables the switcher button * and prevents the menu from being opened. */ disabled?: boolean; /** * Menu toggle control. */ switcher?: ReactNode; switcherWrapperClassName?: string; /** * Overrides the default switcher button props. */ defaultSwitcherProps?: ButtonProps; defaultSwitcherClassName?: string; onSwitcherClick?: MouseEventHandler; /** * Overrides the default dropdown menu popup props. */ menuProps?: MenuProps; popupClassName?: string; popupPlacement?: PopupPlacement; /** * Custom content inside the menu popup. */ children?: ReactNode; }; export declare const DropdownMenu: ({ items, size, icon, onMenuToggle, hideOnScroll, data, disabled, switcher, switcherWrapperClassName, defaultSwitcherProps, defaultSwitcherClassName, onSwitcherClick, menuProps, popupClassName, popupPlacement, children, }: DropdownMenuProps) => JSX.Element; export type { DropdownMenuItem, DropdownMenuItemMixed, DropdownMenuItemAction };