import { BusEventType } from './BusEvent';
export interface Module {
    endpoint: string;
    name: string;
    ns: string;
    version: string;
    vendor: {
        name: string;
        slug: string;
        url: string;
    };
}
export interface Modules {
    [prop: string]: Module;
}
declare type ModuleCollectionOptions = {
    logInConsole: boolean;
    onRegistered?: Function;
};
export declare const EVENT_REGISTERED = "modules-registered";
export default class ModuleCollection {
    private readonly modules;
    private readonly eBus?;
    private readonly options;
    constructor(modules?: Modules, eBus?: BusEventType, options?: Partial<ModuleCollectionOptions>);
    initModules(modules?: Modules): void;
    registerModule(module: Module): void;
    get(moduleName: string): Module | undefined;
    count(): number;
    isEmpty(): boolean;
    onRegistered(callback: Function): void;
}
export {};
//# sourceMappingURL=ModuleCollection.d.ts.map