export default Popover;
/**
 * @deprecated - Components in the legacy folder (/src/legacy) are deprecated. Please use a component from the components folder (/src/components) instead. Legacy components may not follow accessibility standards.
 **/
declare class Popover extends React.Component<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        isOpen: any;
        isHovering: any;
    };
    componentDidMount(): void;
    componentDidUpdate(prevProps: any, prevState: any): void;
    componentWillUnmount(): void;
    delayedHide: (e: any) => void;
    showTimerId: any;
    hideTimerId: any;
    delayedShow: (e: any) => void;
    handleClose: (e: any) => void;
    handleHide: (e: any) => void;
    handleMouseEnter: (e: any) => void;
    delayCheckHover: (e: any) => void;
    delayCheckHoverTimerId: NodeJS.Timeout;
    handleMouseLeave: (e: any) => false | void;
    handleBlur: (e: any) => void;
    hasFocus: boolean;
    handleClick: (e: any) => void;
    handleFocus: (e: any) => void;
    handleKeyDownTrigger: (e: any) => void;
    handleKeyDownEventOverlay: (e: any) => void;
    render(): JSX.Element;
    anchorRef: any;
    overlay: EventOverlay;
}
declare namespace Popover {
    namespace propTypes {
        let autoFocusOnFirstElt: PropTypes.Requireable<boolean>;
        let children: PropTypes.Validator<PropTypes.ReactElementLike>;
        let className: PropTypes.Requireable<string>;
        let closeOnFocusLeavesContent: PropTypes.Requireable<boolean>;
        let content: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
        let delay: PropTypes.Requireable<number>;
        let doesAnchorToggle: PropTypes.Requireable<boolean>;
        let hideDelay: PropTypes.Requireable<number>;
        let hoverDelay: PropTypes.Requireable<number>;
        let includeFocusOnHover: PropTypes.Requireable<boolean>;
        let onClose: PropTypes.Requireable<(...args: any[]) => any>;
        let overflowType: PropTypes.Requireable<string>;
        let popoverTrigger: PropTypes.Requireable<string>;
        let showArrow: PropTypes.Requireable<boolean>;
        let showDelay: PropTypes.Requireable<number>;
        let startOpen: PropTypes.Requireable<boolean>;
    }
    namespace defaultProps {
        let autoFocusOnFirstElt_1: boolean;
        export { autoFocusOnFirstElt_1 as autoFocusOnFirstElt };
        let className_1: string;
        export { className_1 as className };
        let closeOnFocusLeavesContent_1: boolean;
        export { closeOnFocusLeavesContent_1 as closeOnFocusLeavesContent };
        let delay_1: number;
        export { delay_1 as delay };
        let doesAnchorToggle_1: boolean;
        export { doesAnchorToggle_1 as doesAnchorToggle };
        let hideDelay_1: number;
        export { hideDelay_1 as hideDelay };
        let hoverDelay_1: number;
        export { hoverDelay_1 as hoverDelay };
        let includeFocusOnHover_1: boolean;
        export { includeFocusOnHover_1 as includeFocusOnHover };
        let onClose_1: any;
        export { onClose_1 as onClose };
        let overflowType_1: string;
        export { overflowType_1 as overflowType };
        let popoverTrigger_1: string;
        export { popoverTrigger_1 as popoverTrigger };
        let showArrow_1: boolean;
        export { showArrow_1 as showArrow };
        let showDelay_1: number;
        export { showDelay_1 as showDelay };
        let startOpen_1: boolean;
        export { startOpen_1 as startOpen };
    }
    let displayName: string;
}
import React from 'react';
import EventOverlay from '../EventOverlay';
import PropTypes from 'prop-types';
