import { Logger } from '@universal-packages/logger'; import { EnvironmentName, ProcessType } from './Core.types'; export default class CoreModule { static readonly moduleName: string; static readonly description: string; static readonly defaultConfig: Record; static readonly environment: EnvironmentName | EnvironmentName[]; static readonly onlyFor: ProcessType; static readonly tideTo: string | string[]; static readonly loadPriority: number; readonly config: C; readonly logger: Logger; subject: S; constructor(config: C, logger: Logger); prepare(): Promise | void; release(): Promise | void; }