import { SmzDialog, SmzDialogPreset } from '../models/smz-dialogs';
import { ComponentData } from '../../../common/modules/inject-content/models/injectable.model';
import { DialogService } from '../dynamicdialog/dialogservice';
import { DynamicDialogRef } from '../dynamicdialog/dynamicdialog-ref';
import { SmzDialogsVisibilityService } from './smz-dialogs-visibility.service';
import { SmzFeaturesService } from './smz-features.service';
import * as i0 from "@angular/core";
export declare class SmzDialogsService {
    private dialogService;
    refService: DynamicDialogRef;
    private visibilityService;
    private featuresService;
    dialogRefs: DynamicDialogRef[];
    constructor(dialogService: DialogService, refService: DynamicDialogRef, visibilityService: SmzDialogsVisibilityService, featuresService: SmzFeaturesService);
    /**
    * Cria uma instancia de Dialogo.
    * Atenção: o preset irá subscrever o behaviors, builtInButtons e dialogTemplate existentes
    * O Preset tem prioridade sobre as configurações do app module e sobre o presetId do dialogo.
    */
    open(dialog: SmzDialog<any>, preset?: SmzDialogPreset): DynamicDialogRef;
    closeAll(): void;
    private applyDialogPreset;
    private applyFormsPreset;
    private applyFormGroupsPreset;
    private applyFormControlPreset;
    private setupVisibilityObservers;
    private setupComponentVisibilities;
    setupVisibilityEmitters(data: SmzDialog<any>, component: ComponentData): void;
    private safeTypeFunctions;
    private createContextWithPreset;
    private createContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzDialogsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SmzDialogsService>;
}
