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