import { Type } from '@nestjs/common';
export interface ModuleInfo {
    name: string;
    version: string;
    dependencies?: string[];
    description?: string;
    entities?: Type<any>[];
    controllers?: Type<any>[];
    providers?: Type<any>[];
    exports?: Type<any>[];
    metadata?: Record<string, any>;
}
export declare class ModuleRegistry {
    private readonly modules;
    register(moduleInfo: ModuleInfo): boolean;
    unregister(moduleName: string): boolean;
    getModule(moduleName: string): ModuleInfo | undefined;
    getAllModules(): ModuleInfo[];
    hasModule(moduleName: string): boolean;
    getDependentModules(moduleName: string): ModuleInfo[];
}
