import { CustomError } from 'ts-custom-error'; import { Logger } from 'ts-log'; export declare class InvalidModuleState extends CustomError { constructor(moduleName: string, methodName: string, requiredState: ModuleState); } export declare type RunnableModuleState = null | 'initializing' | 'initialized' | 'starting' | 'running' | 'stopping'; export declare abstract class RunnableModule { state: RunnableModuleState; protected abstract initializeImpl(): Promise; protected abstract startImpl(): Promise; protected abstract shutdownImpl(): Promise; logger: Logger; name: string; constructor(name: string, logger: Logger); initialize(): Promise; start(): Promise; shutdown(): Promise; initializeBefore(): void; initializeAfter(): void; startBefore(): void; startAfter(): void; shutdownBefore(): void; shutdownAfter(): void; } //# sourceMappingURL=RunnableModule.d.ts.map