import { Observable } from 'rxjs'; import { Constructor } from './constructor'; /** * Mixin将一个初始化的属性添加到指令中, * 当订阅该指令时,一旦调用了markInitialized, * 该指令就会发出一个值,这应该在ngOnInit函数期间完成。 * 如果订阅是在它已经被标记为初始化之后进行的,那么它将立即触发一个emit。 */ export interface HasInitialized { /** 在指令/组件的ngOnInit期间发出一次的流。 */ initialized: Observable; /** * 将状态设置为已初始化,并且必须在ngOnInit期间调用,以通知订阅方指令已初始化。 */ markInitialized: () => void; } export declare type HasInitializedCtor = Constructor; /** Mixin:用一个initialize的属性来扩充指令,这个属性将在ngOnInit结束时发出。 */ export declare function mixinInitialized>(base: T): HasInitializedCtor & T;