import React, { Component, ReactNode } from 'react';
import DropdownButton from './dropdown-button';
import { RenderFunction } from '../tooltip';
import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext';
export interface DropDownProps {
    trigger?: 'click' | 'hover' | 'contextMenu' | ('click' | 'hover' | 'contextMenu')[];
    overlay: ReactNode | RenderFunction;
    onVisibleChange?: (visible?: boolean) => void;
    visible?: boolean;
    disabled?: boolean;
    align?: Record<string, any>;
    getPopupContainer?: (triggerNode: Element) => HTMLElement;
    prefixCls?: string;
    className?: string;
    transitionName?: string;
    overlayClassName?: string;
    placement?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
    forceRender?: boolean;
    overlayPlacements?: object;
}
export default class Dropdown extends Component<DropDownProps, any> {
    static get contextType(): typeof ConfigContext;
    static displayName: string;
    static Button: typeof DropdownButton;
    static defaultProps: {
        mouseEnterDelay: number;
        mouseLeaveDelay: number;
        placement: string;
    };
    context: ConfigContextValue;
    getTransitionName(): string;
    renderOverlay: () => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | undefined;
    render(): JSX.Element;
}
