import { BootstrapOptions, CompilerOptions, NgModuleRef, StaticProvider, Type } from '@angular/core';
import { ConfigLoadOptions } from '@rxap/config';
import { Environment } from '@rxap/environment';
import { Application } from './application';
export interface ModuleApplicationConfig {
    extraProviders?: StaticProvider[] | undefined;
    compilerOptions?: (CompilerOptions & BootstrapOptions) | Array<CompilerOptions & BootstrapOptions>;
}
export declare class ModuleApplication<M, O extends ModuleApplicationConfig> extends Application<O, NgModuleRef<M>> {
    private readonly moduleType;
    constructor(environment: Environment, moduleType: Type<M>, options?: O, configLoadOptions?: ConfigLoadOptions);
    protected create(): Promise<NgModuleRef<M>>;
    protected prepareConfig(config: O): void;
}
