/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Observable } from 'rxjs'; import { Constructor } from './constructor'; /** * Mixin that adds an initialized property to a directive which, when subscribed to, will emit a * value once markInitialized has been called, which should be done during the ngOnInit function. * If the subscription is made after it has already been marked as initialized, then it will trigger * an emit immediately. * @docs-private */ export interface HasInitialized { /** Stream that emits once during the directive/component's ngOnInit. */ initialized: Observable; /** * Sets the state as initialized and must be called during ngOnInit to notify subscribers that * the directive has been initialized. * @docs-private */ _markInitialized: () => void; } /** * @docs-private * @deprecated No longer necessary to apply to mixin classes. To be made private. * @breaking-change 13.0.0 */ export declare type HasInitializedCtor = Constructor; /** Mixin to augment a directive with an initialized property that will emits when ngOnInit ends. */ export declare function mixinInitialized>(base: T): HasInitializedCtor & T;