/// <reference types="react" />
import * as React from 'react';
import { ICalloutProps } from './Callout.types';
import { DirectionalHint } from '../../common/DirectionalHint';
import { BaseComponent } from '../../Utilities';
import { ICalloutPositionedInfo } from '../../utilities/positioning';
export interface ICalloutState {
    positions?: ICalloutPositionedInfo;
    slideDirectionalClassName?: string;
    calloutElementRect?: ClientRect;
    heightOffset?: number;
}
export declare class CalloutContentBase extends BaseComponent<ICalloutProps, ICalloutState> {
    static defaultProps: {
        preventDismissOnScroll: boolean;
        isBeakVisible: boolean;
        beakWidth: number;
        gapSpace: number;
        minPagePadding: number;
        directionalHint: DirectionalHint;
    };
    private _classNames;
    private _didSetInitialFocus;
    private _hostElement;
    private _calloutElement;
    private _targetWindow;
    private _bounds;
    private _maxHeight;
    private _positionAttempts;
    private _target;
    private _setHeightOffsetTimer;
    private _hasListeners;
    constructor(props: ICalloutProps);
    componentDidUpdate(): void;
    componentWillMount(): void;
    componentWillUpdate(newProps: ICalloutProps): void;
    componentDidMount(): void;
    render(): JSX.Element | null;
    dismiss: (ev?: Event | React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement> | undefined) => void;
    protected _dismissOnScroll(ev: Event): void;
    protected _dismissOnLostFocus(ev: Event): void;
    protected _setInitialFocus: () => void;
    protected _onComponentDidMount: () => void;
    private _addListeners();
    private _removeListeners();
    private _updateAsyncPosition();
    private _getBeakPosition();
    private _updatePosition();
    private _getBounds();
    private _getMaxHeight();
    private _arePositionsEqual(positions, newPosition);
    private _comparePositions(oldPositions, newPositions);
    private _setTargetWindowAndElement(target);
    private _setHeightOffsetEveryFrame();
    private _getTarget(props?);
}
