/**
 * @license chowa v1.1.3
 *
 * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
import * as React from 'react';
import * as PropTypes from 'prop-types';
export interface DropdownPorps {
    className?: string;
    style?: React.CSSProperties;
    visible?: boolean;
    defaultVisible?: boolean;
    role?: string;
    trigger?: 'click' | 'hover' | 'focus' | 'contextMenu';
    onVisibleChange?: (visible: boolean) => any;
    placement?: 'top' | 'left' | 'bottom' | 'right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
    fixSpace?: number;
    offsetX?: number;
    offsetY?: number;
    transparent?: boolean;
    disabled?: boolean;
    externalWheelHide?: boolean;
    content?: React.ReactNode;
    matchTriggerWidth?: boolean;
    delay?: number;
    withArrow?: boolean;
    onShow?: () => void;
    onHide?: () => void;
    onEnter?: () => any;
    onLeave?: () => any;
}
export interface DropdownState {
    dropVisible: boolean;
}
declare class Dropdown extends React.PureComponent<DropdownPorps, DropdownState> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        visible: PropTypes.Requireable<boolean>;
        defaultVisible: PropTypes.Requireable<boolean>;
        role: PropTypes.Requireable<string>;
        trigger: PropTypes.Requireable<string>;
        placement: PropTypes.Requireable<string>;
        onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
        fixSpace: PropTypes.Requireable<number>;
        offsetX: PropTypes.Requireable<number>;
        offsetY: PropTypes.Requireable<number>;
        transparent: PropTypes.Requireable<boolean>;
        disabled: PropTypes.Requireable<boolean>;
        externalWheelHide: PropTypes.Requireable<boolean>;
        content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        matchTriggerWidth: PropTypes.Requireable<boolean>;
        delay: PropTypes.Requireable<number>;
        withArrow: PropTypes.Requireable<boolean>;
        onShow: PropTypes.Requireable<(...args: any[]) => any>;
        onHide: PropTypes.Requireable<(...args: any[]) => any>;
        onEnter: PropTypes.Requireable<(...args: any[]) => any>;
        onLeave: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        visible: boolean;
        defaultVisible: boolean;
        role: string;
        fixSpace: number;
        offsetX: number;
        offsetY: number;
        transparent: boolean;
        disabled: boolean;
        externalWheelHide: boolean;
        placement: string;
        trigger: string;
        matchTriggerWidth: boolean;
        delay: number;
        withArrow: boolean;
    };
    static Menu: React.SFC<import("./dropdown-menu").DropdownMenuProps> & {
        Item: React.SFC<import("./dropdown-menu-item").DropdownMenuItemProps>;
        Submenu: typeof import("./dropdown-menu-submenu").default;
    };
    static Button: React.SFC<import("./dropdown-button").DropdownButtonProps>;
    constructor(props: DropdownPorps);
    componentDidUpdate(preProps: DropdownPorps): void;
    private onVisibleChangeHandler;
    render(): JSX.Element;
}
export default Dropdown;
