import * as React from 'react';
import type BaseDialog from './BaseDialog';
export interface IFabricDialogWrapperProps {
    closeCallback: (dialog: BaseDialog) => Promise<void>;
    ref: (component: FabricDialogWrapper) => void;
}
export interface IFabricDialogWrapperState {
    dialog?: BaseDialog;
    isOpen?: boolean;
    isContentReady?: boolean;
}
export default class FabricDialogWrapper extends React.Component<IFabricDialogWrapperProps, IFabricDialogWrapperState> {
    private _detachedElement;
    private _closedPromise;
    private _resolveClosedPromise;
    private _openPromise;
    private _resolveOpenPromise;
    constructor(props: IFabricDialogWrapperProps);
    render(): JSX.Element;
    /**
     * Starts the sequence of opening the modal and rendering the dialog content into it.
     * Returns a promise that resolves when the content is fully rendered.
     */
    open: (dialog?: BaseDialog) => Promise<void>;
    close: () => Promise<void>;
    UNSAFE_componentWillMount(): void;
    componentDidUpdate(): void;
    _onDismissed: () => void;
    private _closeCallback;
}
//# sourceMappingURL=FabricDialogWrapper.d.ts.map