import { ComponentFactoryResolver, InjectionToken, Injector, NgModuleFactory, NgZone, Type } from '@angular/core'; import { Config } from '../config/config'; import { DeepLinkConfig } from '../navigation/nav-util'; import { NgModuleLoader } from './ng-module-loader'; export declare const LAZY_LOADED_TOKEN: InjectionToken; /** * @hidden */ export declare class ModuleLoader { private _ngModuleLoader; private _injector; /** @internal */ _cfrMap: Map; _promiseMap: Map>>; constructor(_ngModuleLoader: NgModuleLoader, _injector: Injector); load(modulePath: string): Promise; getComponentFactoryResolver(component: Type): ComponentFactoryResolver; } /** * @hidden */ export declare function provideModuleLoader(ngModuleLoader: NgModuleLoader, injector: Injector): ModuleLoader; export interface LoadedModule { componentFactoryResolver: ComponentFactoryResolver; component: Type; } /** * @hidden */ export declare function setupPreloadingImplementation(config: Config, deepLinkConfig: DeepLinkConfig, moduleLoader: ModuleLoader): Promise; /** * @hidden */ export declare function setupPreloading(config: Config, deepLinkConfig: DeepLinkConfig, moduleLoader: ModuleLoader, ngZone: NgZone): () => void;