import { IAbstractAdapter } from './adapters/abstract-adapter'; /** * Create a new Islet. * @abstract * @class */ export default class Islet { /** * Retrieves a registered micro-service. * @returns {Microservice} * @static */ static getIslet(): Islet; /** * Instantiate and run a microservice. * @param {Microservice} Class * @static */ static run(subClass: typeof Islet, opts?: { SIGTERM?: boolean; SIGUSR2?: boolean; }): Promise | undefined; private static islet; /** * Register the islet which is the suite of micro-service * @param {Islet} islet * @static */ private static registerIslet; /** @type {Object.} [adapters={}] */ private adapters; private listenAdapters; private baseAdapters; private onGoingStatus; private isInitialized; /** * Register the adapter. * @param {string} name * @param {IAbstractAdapter} adapter */ registerAdapter(name: string, adapter: IAbstractAdapter): void; /** * Register Message Queue Adapter And Controllers * @param {string} name * @param {string} url * @param {string} serviceName * @param {typeof Adapter} typeOfAdapter * @param {AbstractController} controllers */ registerMq(name: string, url: string, serviceName: string, typeOfAdapter: { new (...args: any[]): IAbstractAdapter; }, ...controllers: any[]): void; /** * @param {string} name * @returns {typeof Adapter} */ getAdaptee(name: string): T; /** * @abstract */ main(): void; isDestroyed(): boolean; readonly initialized: boolean; protected onPrepare(): void; protected onInitialized(): void; protected onDestroy(): void; protected onStarted(): void; /** * Get Random Sampled Host name from given comma-seperated string */ protected ensureSampledHost(first: string): string; protected registerAdapterAndControllers(adapterName: string, adapter: any, ...controllers: any[]): void; /** * @returns {Promise} */ private initialize; private destroy; private sigInfo; }