import { ComponentType } from '@angular/cdk/portal';
import { Injector, Type } from '@angular/core';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare abstract class AbstractLazyModule<Component> {
    componentType: ComponentType<Component>;
    constructor(componentType: ComponentType<Component>);
}
export interface LoadModuleInfos<T> {
    injector: Injector;
    module: T;
}
export declare class LazyLoaderService {
    private injector;
    constructor(injector: Injector);
    loadModule$<T extends AbstractLazyModule<unknown>>(path: Promise<Type<T>>, parentInjector?: Injector): Observable<LoadModuleInfos<T>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LazyLoaderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LazyLoaderService>;
}
