import { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
import { Observable, PartialObserver } from 'rxjs';
import { tccDialogWindow } from '../../components/tcc-dialog-window/tcc-dialog-window.component';
import { AlertType } from '../../models/alert.model';
import { TccInputMask } from '../../../shared';
import { TccTutorialTooltip } from '../../components/tcc-tutorial-tooltip/tcc-tutorial-tooltip.component';
import { TccSingleton } from '../../models/tcc-singleton.model';
import { Router } from '@angular/router';
export declare class TccDialogWindowService implements TccSingleton {
    dialog: MatDialog;
    private router;
    private tccArrayToListstring;
    constructor(dialog: MatDialog, router: Router);
    init(): void;
    reset(): void;
    private _openDialog;
    /**
     * If close on backdrop
     * @param result
     * @param dialog
     * @returns
     */
    private defaultResult;
    private createButton;
    private buildDefaultHeader;
    private createDialog;
    getDialogRef(dialog: tccDialogWindow.TccDialogData, config: MatDialogConfig<any>): MatDialogRef<any, any>;
    openCustomDialog(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, message: string | string[] | tccDialogWindow.TccDialogMessage, buttons: tccDialogWindow.TccDialogButton[], obs?: PartialObserver<any>, tutorial?: TccTutorialTooltip.options): Observable<any>;
    openCustomDialogExt(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, text: string | tccDialogWindow.TccDialogMessage, list: string[], buttons: tccDialogWindow.TccDialogButton[], obs?: PartialObserver<any>, tutorial?: TccTutorialTooltip.options): Observable<any>;
    /**
     * @deprecated use openCustomInputDialogExt instead
     */
    openCustomInputDialog(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, inputElements: TccInputMask.RowElements | TccInputMask.SectionElement, buttons: Array<tccDialogWindow.TccDialogButton>, illustration: string | tccDialogWindow.illustration, obs?: PartialObserver<tccDialogWindow.TccInputDialogReturn>, tutorial?: TccTutorialTooltip.options): Observable<tccDialogWindow.TccInputDialogReturn>;
    openCustomInputDialogExt(options: tccDialogWindow.TccDialogData, obs?: PartialObserver<tccDialogWindow.TccInputDialogReturn>): Observable<tccDialogWindow.TccInputDialogReturn>;
    openCustomInputDescriptionDialog(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, message: string | string[] | tccDialogWindow.TccDialogMessage, inputElements: TccInputMask.RowElements | TccInputMask.SectionElement, buttons: Array<tccDialogWindow.TccDialogButton>, illustration: string | tccDialogWindow.illustration, obs?: PartialObserver<tccDialogWindow.TccInputDialogReturn>, tutorial?: TccTutorialTooltip.options): Observable<tccDialogWindow.TccInputDialogReturn>;
    notficationDialog(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, message: string | string[] | tccDialogWindow.TccDialogMessage, okaytext?: string, obs?: PartialObserver<any>, tutorial?: TccTutorialTooltip.options): Observable<any>;
    confirmationDialog(type: AlertType, header: string | tccDialogWindow.TccDialogHeader, message: string | string[] | tccDialogWindow.TccDialogMessage, okaytext?: string, canceltext?: string, obs?: PartialObserver<any>, tutorial?: TccTutorialTooltip.options): Observable<any>;
    private createDialog2;
}
