/**
 * @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';
export interface OverlayTriggerProps {
    disabled?: boolean;
    action?: 'click' | 'hover' | 'focus' | 'contextMenu';
    onVisibleChange: (visible: boolean) => void;
    visible?: boolean;
    setTriggerElement: (node: HTMLElement) => void;
    updateDropPosition: () => void;
    externalMouseDownListener: (e: MouseEvent) => void;
}
export interface OverlayTriggerState {
    isDraging: boolean;
}
declare class OverlayTrigger extends React.PureComponent<OverlayTriggerProps, OverlayTriggerState> {
    private triggerElement;
    private resizeObserver;
    constructor(props: OverlayTriggerProps);
    componentDidMount(): void;
    private autoBindExternalListener;
    componentWillUnmount(): void;
    componentDidUpdate(preProps: OverlayTriggerProps): void;
    private updateVisible;
    private onDraging;
    private onDragEnd;
    private onMouseDownHandler;
    private onClickHandler;
    private onContextMenuHandler;
    private onMouseEnterHandler;
    private onMouseLeaveHandler;
    private onFocusHandler;
    private onBlurHandler;
    render(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)>) | (new (props: any) => React.Component<any, any, any>)>;
}
export default OverlayTrigger;
