import { EventEmitter, InjectionToken, Injector, NgModuleFactoryLoader, OnChanges, OnDestroy, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core'; interface LazyContext { $implicit: any; } export declare const LAZY_COMPONENT_TOKEN: InjectionToken>; export declare class LazyDirective implements OnChanges, OnDestroy { private templateRef; private viewContainer; private loader; private injector; lazy: string; lazyLoadChildren: string; lazyActivate: (component: any) => void; lazyDeactivate: (component: any) => void; activate: EventEmitter; deactivate: EventEmitter; private context; private get component(); private componentRef; private get projectableNodes(); private embeddedViewRef; private subscription; private ngModuleRef; constructor(templateRef: TemplateRef, viewContainer: ViewContainerRef, loader: NgModuleFactoryLoader, injector: Injector); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private onLazyDidChanged; private loadAndRender; private load; private onActivate; private onDeactivate; private dispose; } export {};