import { ComponentRef } from '@angular/core'; import { ComponentData } from '../../../common/modules/inject-content/models/injectable.model'; import { IActionButton } from './action.button.model'; import { InjectableDialogComponentInterface } from '../../../common/modules/inject-content/models/injectable-dialog-component.interface'; import { ILibraryIcon } from './icons.model'; import { BehaviorSubject } from 'rxjs'; import { FormGroupConfig } from '../../smz-forms/models/form-group.models'; export declare const dialogKeys: { CONTENT_DIALOG: { level: number; key: string; }; MESSAGE_DIALOG: { level: number; key: string; }; CONFIRMATION_DIALOG: { level: number; key: string; }; }; export declare class DialogData { private appDialogKey; isReseted: boolean; config: IDialogData; ref: { componentRef: ComponentRef>; }; listener$: BehaviorSubject; isDialogActive: boolean; constructor(appDialogKey: IDialogKey); show(config: IDialogData): void; hide(): void; reset(): void; } export interface IDialogKey { level: number; key: string; } export interface IDialogData { domElementId?: string; title: string; icon: ILibraryIcon; messages: string[]; buttons: IDialogActionButton[]; maximizable: boolean; closable: boolean; style: any; component?: ComponentData; componentConfig: FormGroupConfig; level?: number; forceLevel?: number; key?: string; isVisible?: boolean; isDisabled?: boolean; responsive?: boolean; maximizeOnOpen?: boolean; showLoader?: boolean; onClose?: (data: any) => void; } export interface IDialogActionButton extends IActionButton { closeDialogAfterClicked: boolean; confirmOnEnter?: boolean; validationRequired: boolean; disabled?: boolean; visible: boolean; isOverlayAction?: boolean; overlayData?: IOverLayData; } export interface IOverLayData extends ComponentData { id: string; } export interface OverLayResponseData { component: any; event: any; data: any; isValid: boolean; }