import { Type } from '@angular/core'; import { AbstractModalComponent } from './abstractmodal'; import { SafeHtml } from '@angular/platform-browser'; import { Subject } from 'rxjs/Subject'; import { ActionConfiguration, ModalAction } from './modalfooter/modalaction'; export interface AbstractModalConfiguration { implicitDismiss?: boolean; size?: 'small' | 'large' | 'fullscreen'; height?: number; resolve?: { [key: string]: Promise | any; }; onValidate?: ActionConfiguration; onDismiss?: ActionConfiguration; } export interface ModalConfiguration extends AbstractModalConfiguration { content: Type; } export interface ConfirmConfiguration extends AbstractModalConfiguration { content: SafeHtml; } export interface ModalEvent { content: Type | SafeHtml; implicitDismiss?: boolean; size?: 'small' | 'large' | 'fullscreen'; height?: number; resolve?: { [key: string]: any; }; onValidate?: ModalAction; onDismiss?: ModalAction; } export interface ConfirmEvent extends ModalEvent { title: SafeHtml; } export declare class ModalService { event$: Subject; constructor(); /** * Open a modal */ open(config: { content: Type; implicitDismiss?: boolean; size?: 'small' | 'large' | 'fullscreen'; height?: number; resolve?: { [key: string]: Promise | any; }; onValidate?: ActionConfiguration; onDismiss?: ActionConfiguration; }): void; /** * Open a confirm */ confirm(config: { title: SafeHtml; content: SafeHtml; implicitDismiss?: boolean; onValidate?: ActionConfiguration; onDismiss?: ActionConfiguration; }): void; /** * Generate the event object send to the modal component */ generateEvent(config: ModalConfiguration | ConfirmConfiguration): Promise; /** * Close a modal or confirm */ close(): void; } export declare class CloseEvent { } export declare class LoadingModalEvent { }