/**
 * @file
 * @author dailin01
 */
import React from 'react';
import DropdownButton from './dropdown-button';
import Select from '../select';
import Cascader from '../cascader';
import type { MenuProps } from '../menu/menu';
declare const PlacementTypes: ["bottomLeft", "bottomCenter", "bottomRight", "topLeft", "topCenter", "topRight", "rightTop", "rightCenter", "rightBottom", "leftTop", "leftCenter", "leftBottom"];
export type PlacementType = typeof PlacementTypes[number];
type OverlayFunc = () => React.ReactElement;
export type RenderDOMFunc = (props: any) => HTMLElement;
export interface BaseDropdownProps {
    menu?: MenuProps;
    label?: string | React.ReactNode;
    image?: string | React.ReactNode;
    labelIcon?: boolean;
    prefixCls?: string;
    placement?: PlacementType;
    overlay: React.ReactElement | OverlayFunc;
    disabled?: boolean;
    trigger?: ('click' | 'hover' | 'contextMenu')[];
    alignPoint?: boolean;
    direction?: string;
    onVisibleChange?: (visible: boolean) => void;
    visible?: boolean;
    getPopupContainer?: RenderDOMFunc;
    onClick?: (e: React.MouseEvent) => void;
    overlayClassName?: string;
    overlayStyle?: React.CSSProperties;
    children?: React.ReactNode;
}
interface DropdownInterface extends React.FC<BaseDropdownProps> {
    Button: typeof DropdownButton;
    Select: typeof Select;
    Cascader: typeof Cascader;
}
declare const Dropdown: DropdownInterface;
export default Dropdown;
