import { AnimationEvent } from '@angular/animations'; import { ComponentType, Overlay } from '@angular/cdk/overlay'; import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core'; import { Subject } from 'rxjs'; import { WtSingletonService } from 'ngx-wonton/core/services'; import { WtMessageData, WtMessageDataOptions } from './typings'; import * as i0 from "@angular/core"; export declare abstract class WtMNService { protected wtSingletonService: WtSingletonService; protected overlay: Overlay; private injector; protected abstract componentPrefix: string; protected container?: WtMNContainerComponent; constructor(wtSingletonService: WtSingletonService, overlay: Overlay, injector: Injector); remove(id?: string): void; protected getInstanceId(): string; protected withContainer(ctor: ComponentType): T; } export declare abstract class WtMNContainerComponent implements OnInit, OnDestroy { protected cdr: ChangeDetectorRef; instances: Array>; protected readonly destroy$: Subject; constructor(cdr: ChangeDetectorRef); ngOnInit(): void; ngOnDestroy(): void; create(data: WtMessageData): Required; remove(id: string, userAction?: boolean): void; removeAll(): void; protected onCreate(instance: WtMessageData): Required; protected onRemove(instance: Required, userAction: boolean): void; protected readyInstances(): void; protected abstract updateConfig(): void; protected mergeOptions(options?: WtMessageDataOptions): WtMessageDataOptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare abstract class WtMNComponent implements OnInit, OnDestroy { protected cdr: ChangeDetectorRef; instance: Required; index?: number; readonly destroyed: EventEmitter<{ id: string; userAction: boolean; }>; readonly animationStateChanged: Subject; protected options: Required; protected autoClose?: boolean; protected closeTimer?: any; protected userAction: boolean; protected eraseTimer: any | null; protected eraseTimingStart?: number; protected eraseTTL: number; protected constructor(cdr: ChangeDetectorRef); ngOnInit(): void; ngOnDestroy(): void; onEnter(): void; onLeave(): void; protected destroy(userAction?: boolean): void; private initErase; private updateTTL; private startEraseTimeout; private clearEraseTimeout; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }