import { IContractRepository } from '../../domain/repositories/IContractRepository'; import { ICache } from '../../domain/services/caching/interfaces/ICache'; import { IDomainEventPublisher } from '../../domain/shared/events'; /** * Health status enumeration */ export declare enum HealthStatus { HEALTHY = "healthy", UNHEALTHY = "unhealthy", DEGRADED = "degraded" } /** * Health check result */ export interface HealthCheckResult { status: HealthStatus; timestamp: Date; duration: number; details: Record; } /** * Individual health check */ export interface HealthCheck { name: string; description: string; check: () => Promise; critical: boolean; timeout: number; } /** * Overall health status */ export interface SystemHealth { status: HealthStatus; timestamp: Date; duration: number; checks: Record; summary: { total: number; healthy: number; unhealthy: number; degraded: number; }; } /** * Health Checker - System health monitoring * Provides comprehensive health checks for all system components */ export declare class HealthChecker { private readonly repository?; private readonly cache?; private readonly eventPublisher?; private checks; constructor(repository?: IContractRepository | undefined, cache?: ICache | undefined, eventPublisher?: IDomainEventPublisher | undefined); /** * Add a custom health check */ addCheck(check: HealthCheck): void; /** * Remove a health check by name */ removeCheck(name: string): void; /** * Run all health checks */ checkHealth(): Promise; /** * Run a specific health check */ checkComponent(name: string): Promise; /** * Get all registered health checks */ getChecks(): readonly HealthCheck[]; private runCheckWithTimeout; private initializeChecks; } /** * Global health checker instance */ export declare const healthChecker: HealthChecker; //# sourceMappingURL=HealthChecker.d.ts.map