export interface IModuleMetadata { name: string; author?: string; version?: string; license?: string; description?: string; registrations?: string[]; } export interface IRegistrationMetadata { name: string; module: string; usage?: string; } /** * Register a module's metadata * @param data the module's metadata */ export declare function useModule(data: IModuleMetadata): void; /** * Register a registration's metadata * @param data the registration's metadata */ export declare function useRegistration(data: IRegistrationMetadata): void; /** Get all modules' metadata */ export declare function getAllModules(): IModuleMetadata[]; /** * Get a module's metadata * @param name the module's name */ export declare function getModule(name: string): IModuleMetadata; /** * Get all registrations' metadata of a module * @param moduleName the module's name */ export declare function getAllRegistrations(moduleName: string): IRegistrationMetadata[]; /** * Get a registration's metadata of a module * @param moduleName the module's name * @param name the registration's name */ export declare function getRegistration(moduleName: string, name: string): IRegistrationMetadata;