import { Component } from 'react';
export declare function getPopoverPositionFromAnchorPosition(anchorPosition: any): any;
export declare function getPopoverAlignFromAnchorPosition(anchorPosition: any): any;
export declare const ANCHOR_POSITIONS: string[];
export declare class SoftPopover extends Component<{
    isOpen?: boolean;
    closePopover?: (e?: any) => any;
    repositionOnScroll?: any;
    ownFocus?: any;
    initialFocus?: any;
    anchorPosition?: any;
    container?: any;
    hasArrow?: any;
    anchorClassName?: any;
    button?: any;
    withTitle?: any;
    className?: any;
    panelClassName?: any;
    panelPaddingSize?: any;
    popoverRef?: any;
    zIndex?: any;
    id?: any;
}> {
    private closingTransitionTimeout;
    private button;
    private panel;
    static propTypes: {};
    static defaultProps: {};
    static getDerivedStateFromProps(nextProps: any, prevState: any): {
        prevProps: {
            isOpen: any;
        };
        isClosing: boolean;
        isOpening: boolean;
    } | {
        prevProps: {
            isOpen: any;
        };
        isClosing?: undefined;
        isOpening?: undefined;
    };
    state: {
        prevProps: {
            isOpen: boolean;
        };
        suppressingPopover: boolean;
        isClosing: boolean;
        isOpening: boolean;
        popoverStyles: {
            top: number;
            left: number;
        };
        arrowStyles: {};
        arrowPosition: any;
        openPosition: any;
        isOpenStable: boolean;
    };
    constructor(props: any);
    onKeyDown: (e: any) => void;
    updateFocus(): void;
    componentDidMount(): void;
    componentDidUpdate(prevProps: any): void;
    componentWillUnmount(): void;
    onMutation: (records: any) => void;
    positionPopover: (allowEnforcePosition: any) => void;
    positionPopoverFixed: () => void;
    positionPopoverFluid: () => void;
    panelRef: (node: any) => void;
    buttonRef: (node: any) => any;
    render(): JSX.Element;
}
