import { AnimationEvent } from '@angular/animations'; import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal'; import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter, NgZone, OnDestroy, Renderer2 } from '@angular/core'; import { SafeAny } from '@ngx-simple/core/types'; import { Observable, Subject } from 'rxjs'; import { SimToastConfig } from './toast-config'; export declare class SimToastContainerComponent extends BasePortalOutlet implements OnDestroy { private _elementRef; private _changeDetectorRef; private _ngZone; toastConfig: SimToastConfig; /** 此容器内的门户出口,toast把内容将加载到其中。 */ _portalOutlet: CdkPortalOutlet; /** toast动画的状态。 */ _animationState: string; /** 标题为通知toast已退出视野。 */ readonly _onExit: Subject; /** 标题为通知toast完成进入视图。 */ readonly _onEnter: Subject; /** 组件是否已被销毁。 */ private _destroyed; /** 当动画状态改变时发出 */ _animationStateChanged: EventEmitter; constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone, toastConfig: SimToastConfig, renderer: Renderer2); ngOnDestroy(): void; onAnimationEnd(event: AnimationEvent): void; /** 开始从视图进入的toast的动画 */ enter(): void; /** 开始从视图退出的toast的动画 */ exit(): Observable; /** 将组件门户作为内容附加到toast容器 */ attachComponentPortal(portal: ComponentPortal): ComponentRef; /** 将模板门户作为内容附加到toast容器 */ attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; /** * 等待zone稳定后再移除元素。预防错误,我们最终删除了动画中间的元素。 */ private _completeExit; /** 将各种定位和用户配置的CSS类应用于toast */ private _applyToastClasses; /** 断言没有内容已附加到容器 */ private _assertNotAttached; }