import { ComponentType } from '@angular/cdk/portal'; import { MatDialog } from '@angular/material/dialog'; import { ObservableData } from '@ts-core/common/observer'; import { LanguageService } from '@ts-core/frontend/language'; import { Observable } from 'rxjs'; import { IQuestion, IQuestionOptions } from '../question/IQuestion'; import { INotification } from './INotification'; import { INotificationContent } from './INotificationContent'; import { NotificationConfig, NotificationConfigOptions } from './NotificationConfig'; import { NotificationFactory } from './NotificationFactory'; export declare class NotificationService { factory: NotificationFactory; questionComponent: ComponentType>; protected dialog: MatDialog; protected language: LanguageService; protected _configs: Array; protected _closedConfigs: Array; protected _notifications: Map>; private observer; gapY: number; minWidth: number; minHeight: number; paddingTop: number; paddingLeft: number; paddingRight: number; paddingBottom: number; defaultCloseDuration: number; constructor(dialog: MatDialog, language: LanguageService); open(component: ComponentType>, config: NotificationConfig): INotificationContent; private getById; private setDefaultProperties; private checkPosition; private getPrevious; private add; get(value: NotificationId): NotificationConfig; has(value: NotificationId): boolean; remove(value: NotificationId): void; removeAll(): void; close(value: NotificationId): INotification; info(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: NotificationConfigOptions): IQuestion; question(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: NotificationConfigOptions): IQuestion; get events(): Observable>; get configs(): Array; get closedConfigs(): Array; get notifications(): Map>; } export declare type NotificationId = string | NotificationConfig | NotificationConfigOptions; export declare enum NotificationServiceEvent { OPENED = "OPENED", CLOSED = "CLOSED", ADDED = "ADDED", REMOVED = "REMOVED" }