import { MenuClickEventHandler } from 'rc-menu/lib/interface';
import React from 'react';
import { XOR } from './utils/types';
export interface MenuDivider {
    type: 'divider';
}
export interface MenuOption {
    danger?: boolean;
    disabled?: boolean;
    key: number | string;
    label?: React.ReactNode;
    icon?: React.ReactNode;
    onClick?: MenuClickEventHandler;
    tabIndex?: number;
    type?: 'option';
}
export interface MenuOptionGroup {
    children: MenuItem[];
    label: React.ReactNode;
    type: 'group';
}
export type MenuItem = MenuDivider | MenuOption | MenuOptionGroup | null;
export type Placement = 'bottomLeft' | 'bottomRight';
export type DropdownEvent = React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
interface BaseProps {
    children?: React.ReactNode;
    disabled?: boolean;
    isContextMenu?: boolean;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    autoWidthOverlay?: boolean;
    placement?: Placement;
    onClick?: (key: string, e: DropdownEvent) => void | Promise<void>;
}
type ContentProps = {
    content: React.ReactNode;
};
type MenuProps = {
    menu?: MenuItem[];
    selectable?: boolean;
    selectedKeys?: string[];
};
export type Props = XOR<ContentProps, MenuProps> & BaseProps;
declare const Dropdown: React.FC<Props>;
export default Dropdown;
//# sourceMappingURL=Dropdown.d.ts.map