/**
 * @deprecated prefer Popover from "../../ui" instead
 */
export default class Popover extends Component<any, any, any> {
    static propTypes: {
        id: PropTypes.Requireable<string>;
        isOpen: PropTypes.Requireable<boolean>;
        hasArrow: PropTypes.Requireable<boolean>;
        hasBackground: PropTypes.Requireable<boolean>;
        tetherOptions: PropTypes.Requireable<object>;
        sizeToFit: PropTypes.Requireable<boolean>;
        pinInitialAttachment: PropTypes.Requireable<boolean>;
        autoWidth: PropTypes.Requireable<boolean>;
        verticalAttachments: PropTypes.Requireable<any[]>;
        horizontalAttachments: PropTypes.Requireable<any[]>;
        alignVerticalEdge: PropTypes.Requireable<boolean>;
        alignHorizontalEdge: PropTypes.Requireable<boolean>;
        noOnClickOutsideWrapper: PropTypes.Requireable<boolean>;
        targetOffsetX: PropTypes.Requireable<number>;
        targetOffsetY: PropTypes.Requireable<number>;
        onClose: PropTypes.Requireable<(...args: any[]) => any>;
        containerClassName: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        children: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactElementLike | ((...args: any[]) => any) | null | undefined>>;
        target: PropTypes.Requireable<any>;
        targetEvent: PropTypes.Requireable<object>;
        role: PropTypes.Requireable<string>;
        ignoreTrigger: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        isOpen: boolean;
        hasArrow: boolean;
        hasBackground: boolean;
        verticalAttachments: string[];
        horizontalAttachments: string[];
        alignVerticalEdge: boolean;
        alignHorizontalEdge: boolean;
        targetOffsetX: number;
        targetOffsetY: number;
        sizeToFit: boolean;
        autoWidth: boolean;
        noOnClickOutsideWrapper: boolean;
        containerClassName: string;
        ignoreTrigger: boolean;
    };
    constructor(props: any, context: any);
    state: {
        width: null;
        height: null;
    };
    handleDismissal(...args: any[]): void;
    _getPopoverElement(isOpen: any): HTMLSpanElement | undefined;
    _popoverElement: HTMLSpanElement | undefined;
    _timer: NodeJS.Timeout | undefined;
    componentDidMount(): void;
    updateComponentPosition(isOpen: any): void;
    _best: {
        attachmentX: string;
        attachmentY: string;
        targetAttachmentX: string;
        targetAttachmentY: string;
        offsetX: number;
        offsetY: number;
    } | undefined;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    _popoverComponent(): import("react/jsx-runtime").JSX.Element;
    _setTetherOptions(tetherOptions: any, o: any): void;
    _tether: Tether | undefined;
    _getMaxHeight(): number;
    _getBestAttachmentOptions(tetherOptions: any, options: any, attachments: any, offscreenProps: any, getAttachmentOptions: any): any;
    _getTargetElement(): any;
    constrainPopoverToBetweenViewportAndTarget(tetherOptions: any, direction: any): void;
    render(): import("react/jsx-runtime").JSX.Element;
}
import { Component } from "react";
import Tether from "tether";
import PropTypes from "prop-types";
