import { TemplateRef, Type } from '@angular/core';
import { Observable } from 'rxjs';
import { DialogRefBase } from '../base/dialog-ref-base.class';
import * as i0 from "@angular/core";
export interface DialogRefLoadingConfiguration {
    isLoading: boolean;
    loadingLabel?: string;
    loadingContent?: string | TemplateRef<any> | Type<any>;
}
/**
 * Reference to a dialog component
 * It can be injected into the content component through the constructor.
 * For a template, it is declared as part of the implicit context, see examples.
 */
export declare class DialogRef<T = any, P = any> extends DialogRefBase<T, P> implements DialogRefLoadingConfiguration {
    /** @hidden */
    private readonly _onHide;
    /** @hidden */
    private readonly _onLoading;
    /** @hidden */
    private readonly _fullScreen;
    /** Observable that is triggered whenever the dialog should be visually hidden or visible.*/
    onHide: Observable<boolean>;
    /** Observable that is triggered whenever the dialog should be displayed in loading state.*/
    onLoading: Observable<boolean>;
    /** Observable that is triggered whenever the full-screen state being changed. */
    fullScreen: Observable<boolean>;
    /** Value used to determine if dialog window should be hidden or visible. */
    isLoading: boolean;
    /** Text, that is rendered in loading state */
    loadingLabel?: string;
    /** Content, that is rendered in loading state before busy indicator */
    loadingContent?: DialogRefLoadingConfiguration['loadingContent'];
    /**
     * Visually hides the dialog.
     * @param isHidden Value used to determine if dialog window should be hidden or visible.
     */
    hide(isHidden: boolean): void;
    /**
     * Displays the dialog in loading state.
     * @param loadingData Value used to determine if dialog window should be displayed in loading state.
     */
    loading(loadingData: boolean | DialogRefLoadingConfiguration): void;
    /**
     * Toggles full-screen mode of the Dialog.
     */
    toggleFullScreen(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DialogRef<any, any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DialogRef<any, any>>;
}
