import { ModuleTokenFactory } from './module-token-factory';
import { DynamicModuleInterface, ModuleFactoryInterface, Type } from "../../contracts";
export declare class ModuleCompiler {
    private readonly moduleTokenFactory;
    constructor(moduleTokenFactory?: ModuleTokenFactory);
    compile(metaType: Type<any> | DynamicModuleInterface | Promise<DynamicModuleInterface>): Promise<ModuleFactoryInterface>;
    extractMetadata(metaType: Type<any> | DynamicModuleInterface): {
        type: Type<any>;
        dynamicMetadata?: Partial<DynamicModuleInterface> | undefined;
    };
    isDynamicModule(module: Type<any> | DynamicModuleInterface): module is DynamicModuleInterface;
}
//# sourceMappingURL=compiler.d.ts.map