import React, { KeyboardEventHandler } from 'react';
import { PopoverProps } from '../Popover.types';
interface PopoverState {
    isMounted: boolean;
    shown: boolean;
}
export interface ContextType {
    newBrandingClass: string;
    contextClassName?: string;
}
/**
 * Popover
 */
export declare class PopoverCore extends React.Component<PopoverProps, PopoverState> {
    static displayName: string;
    static defaultProps: Partial<PopoverProps>;
    static contextType: React.Context<{
        newBrandingClass?: string;
        mobile?: boolean;
        contextClassName?: string;
    }>;
    static Element: React.FunctionComponent<import("./utils/utils").ElementProps>;
    static Content: React.FunctionComponent<import("./utils/utils").ElementProps>;
    targetRef: Element | undefined;
    portalNode: HTMLElement | null;
    portalClasses: string;
    appendToNode: HTMLElement | null;
    clickOutsideRef: any;
    transitionRef: React.RefObject<HTMLElement>;
    popoverContentRef: React.RefObject<HTMLDivElement>;
    clickOutsideClass: string;
    contentHook: string;
    popperScheduleUpdate: undefined | (() => void);
    _hideTimeout: any;
    _showTimeout: any;
    constructor(props: PopoverProps);
    _handleClickOutside: (event: Event) => void;
    _onKeyDown: KeyboardEventHandler<HTMLDivElement>;
    focus(): void;
    getPopperContentStructure(childrenObject: any): React.JSX.Element;
    applyStylesToPortaledNode(): void;
    wrapWithAnimations(popper: React.ReactElement): React.JSX.Element;
    renderPopperContent(childrenObject: any): React.JSX.Element;
    renderArrow(arrowProps: any, moveArrowTo: any, placement: any, customArrow: any): any;
    componentDidMount(): void;
    /**
     * Checks to see if the focused element is outside the Popover content
     */
    _onDocumentKeyUp: (event: KeyboardEvent) => void;
    _setBlurByKeyboardListener(): void;
    _removeBlurListener(): void;
    appendPortalToNode(): void;
    hidePopover(): void;
    showPopover(): void;
    componentWillUnmount(): void;
    updatePosition(): void;
    componentDidUpdate(prevProps: any): void;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=PopoverCore.d.ts.map