export default ClosablePopover;
/**
 * Closable Popover
 * Either a normal Controlled Popover, or a Popover that is initially opened and can be the closed by
 * calling a closeAction.
 */
declare class ClosablePopover extends React.PureComponent<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        open: any;
        mode: string;
    };
    _isControlled(): boolean;
    open: () => void;
    _doOpen: (nextMode: any) => void;
    close: () => void;
    _handleMouseEnter: () => void;
    _handleMouseLeave: () => void;
    render(): React.JSX.Element;
    actions: {
        close: () => void;
    };
}
declare namespace ClosablePopover {
    namespace defaultProps {
        let hideDelay: number;
        let initiallyOpened: boolean;
        let closeOnMouseLeave: boolean;
    }
    namespace propTypes {
        export let opened: PropTypes.Requireable<boolean>;
        let initiallyOpened_1: PropTypes.Requireable<boolean>;
        export { initiallyOpened_1 as initiallyOpened };
        export let target: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
        export let onOpen: PropTypes.Requireable<(...args: any[]) => any>;
        export let onClose: PropTypes.Requireable<(...args: any[]) => any>;
        let closeOnMouseLeave_1: PropTypes.Requireable<boolean>;
        export { closeOnMouseLeave_1 as closeOnMouseLeave };
        export let content: PropTypes.Validator<(...args: any[]) => any>;
        export let className: PropTypes.Requireable<string>;
    }
}
import React from 'react';
import PropTypes from 'prop-types';
//# sourceMappingURL=ClosablePopover.d.ts.map