/// export declare const HEALTH_CHECK_GROUP = "inceptum:health"; export declare function RegisterAsHealthCheck(target: any): void; export declare enum HealthCheckStatus { OK = "OK", NOT_READY = "NOT_READY", WARNING = "WARNING", CRITICAL = "CRITICAL", STOPPING = "STOPPING", } export declare enum HealthCheckType { CONTEXT = 0, DEPENDENCY = 1, GROUP = 2, } export declare class HealthCheckResult { status: HealthCheckStatus; message: string; data: any; timestamp: number; constructor(status: HealthCheckStatus, message: string, timestamp?: number, data?: any); static getInitialResult(): HealthCheckResult; static staleResult(healthCheck: HealthCheck, lastResult: HealthCheckResult): HealthCheckResult; } export declare abstract class HealthCheck { checkName: string; sleepMillis: number; staleNumFails: number; private runImmediately; started: boolean; lastResult: HealthCheckResult; timer: NodeJS.Timer; checkRunning: boolean; constructor(checkName: string, sleepMillis?: number, staleNumFails?: number, runImmediately?: boolean); abstract getType(): HealthCheckType; getCheckName(): string; getSleepMillis(): number; start(): void; runCheck(): Promise; doStart(): void; stop(): void; doStop(): void; isStarted(): boolean; abstract doCheck(): Promise; getLastResult(): HealthCheckResult; } export declare class HealthCheckGroup extends HealthCheck { groupKey: string; healthChecks: Map; constructor(groupName: string); addCheck(healthCheck: HealthCheck, asName?: string): void; addCheckAs(healthCheck: HealthCheck, asName: string): void; doStart(): void; doStop(): void; doCheck(): Promise; getLastResult(): HealthCheckResult; /** * Ignore dependencies CRITICAL status. It is not considered * to be part of App's health. */ protected ignoreHealthCheckStatus(hc: HealthCheck, status: HealthCheckStatus): boolean; getType(): HealthCheckType; }