import { ConfigService } from '@nestjs/config';
import { PrismaService } from "../../database/prisma/prisma.service";
import { RedisService } from "../../cache/redis/redis.service";
import { TemporalProbeService } from './temporal-probe.service';
export interface HealthStatus {
    status: 'healthy' | 'degraded' | 'unhealthy';
    timestamp: string;
    uptime: number;
    environment: string;
    version?: string;
}
export interface DetailedHealthStatus extends HealthStatus {
    services: {
        database: ServiceStatus;
        redis: ServiceStatus;
        temporal: ServiceStatus;
    };
    system: {
        memory: {
            used: string;
            total: string;
            percentage: number;
        };
        cpu: {
            usage: number;
        };
    };
}
export interface ServiceStatus {
    status: 'up' | 'down' | 'degraded';
    responseTime?: number;
    message?: string;
}
export declare class HealthService {
    private readonly prisma;
    private readonly configService;
    private readonly redisService;
    private readonly temporalProbe;
    private readonly logger;
    private readonly startTime;
    private readonly redisTimeoutMs;
    constructor(prisma: PrismaService, configService: ConfigService, redisService: RedisService, temporalProbe: TemporalProbeService);
    check(): Promise<HealthStatus>;
    detailedCheck(): Promise<DetailedHealthStatus>;
    readinessCheck(): Promise<{
        ready: boolean;
        message?: string;
    }>;
    livenessCheck(): Promise<{
        alive: boolean;
    }>;
    private aggregateStatus;
    private checkDatabase;
    private checkRedis;
    private checkTemporal;
    private formatBytes;
}
