import { EventEmitter } from "@angular/core"; import { Dialog, DialogSettings, DialogAlertParams, DialogConfirmParams, DialogConfirmCallback, DialogPromptParams, DialogPromptCallback, DialogStringFunction } from "./dialog.base"; import { DialogBaseService } from "./dialog.base.service"; /** * Serviço que inicializa e exibe um modal a partir de um componente * * Example ```ts private dialog: Dialog; private openModal() { if(!this.dialog) { this.dialog = this.dialogService.create(TesteModal, { // Dialog params (Opcional) teste: { 'its work?': true } }, { // Dialog settings (Opcional) backdrop: { // Backdrop settings (Opcional) onClick: 'close' // Opcional: 'close', 'dismiss', 'none' (default: close) }, header: { // Header settings (Opcional) title: 'Teste modal', // Obrigatório subtitle: 'Isso é apenas um teste', // Opcional closable: true, // Opcional (default: true) closeClick: 'close' // Opcional: 'close', 'dismiss' (default: close) } }); // Quando o modal é aberto this.dialog.onOpen.subscribe(() => console.log("Modal opened")); // Quando o dialog é ocultado this.dialog.onDismiss.subscribe(() => console.log("Modal dismissed")); // Quando o dialog é destruido this.dialog.onClose.subscribe(() => console.log("Modal closed")); // Quando o dialog retorna um valor this.dialog.onReturnValue.subscribe((response) => console.log("Modal response:", response)); } this.dialog.open(); } ``` * */ export declare class DialogService { private _baseService; constructor(_baseService: DialogBaseService); readonly onShow: EventEmitter; readonly onHide: EventEmitter; readonly visibleDialogs: Array; readonly dialogs: Array; create(component: any, params?: any, settings?: DialogSettings): Dialog; open(component: any, params?: any, settings?: DialogSettings): Dialog; loading(message: DialogStringFunction | string): Dialog; alert(params: DialogAlertParams): Dialog; confirm(params: DialogConfirmParams, callback: DialogConfirmCallback): Dialog; prompt(params: DialogPromptParams, callback: DialogPromptCallback): Dialog; openViewer(src: string, type?: "image" | "video"): Dialog; }