import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { Observable } from 'rxjs'; declare type ObservableOrPromise = Observable | Promise; interface AsyncContext { $implicit: any; } export declare class AsyncDirective implements OnChanges, OnDestroy { private templateRef; private viewContainer; private cd; async: ObservableOrPromise; asyncFrom: ObservableOrPromise; asyncNext: (value: any) => void; asyncError: (error: any) => void; asyncComplete: () => void; next: EventEmitter; error: EventEmitter; complete: EventEmitter; private context; private viewRef; private componentInstance; private strategy; private subscription; constructor(templateRef: TemplateRef, viewContainer: ViewContainerRef, cd: ChangeDetectorRef); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private onAsyncDidChanged; private subscribe; private onNext; private onError; private onComplete; private dispose; } export {};