/**
 * Health Check System
 * Production monitoring and health endpoints
 */
export interface HealthStatus {
    status: 'healthy' | 'degraded' | 'unhealthy';
    timestamp: string;
    uptime: number;
    version: string;
    checks: HealthCheck[];
    summary: {
        total: number;
        passing: number;
        failing: number;
        warnings: number;
    };
}
export interface HealthCheck {
    name: string;
    status: 'pass' | 'fail' | 'warn';
    message: string;
    duration: number;
    metadata?: Record<string, any>;
}
export interface MonitoringMetrics {
    memory: {
        heapUsed: number;
        heapTotal: number;
        external: number;
        rss: number;
        percentUsed: number;
    };
    performance: {
        uptime: number;
        cpuUsage: NodeJS.CpuUsage;
        eventLoopDelay: number;
    };
    errors: {
        total: number;
        last24h: number;
        byCategory: Record<string, number>;
        bySeverity: Record<string, number>;
    };
    requests: {
        total: number;
        successful: number;
        failed: number;
        averageResponseTime: number;
    };
}
declare class HealthChecker {
    private startTime;
    private requestCount;
    private successfulRequests;
    private failedRequests;
    private responseTimes;
    constructor();
    /**
     * Perform comprehensive health check
     */
    checkHealth(): Promise<HealthStatus>;
    /**
     * Get detailed monitoring metrics
     */
    getMetrics(): MonitoringMetrics;
    /**
     * Record request metrics
     */
    recordRequest(success: boolean, responseTime: number): void;
    /**
     * Check memory health
     */
    private checkMemoryHealth;
    /**
     * Check error rate
     */
    private checkErrorRate;
    /**
     * Check performance metrics
     */
    private checkPerformance;
    /**
     * Check system dependencies
     */
    private checkDependencies;
    /**
     * Simple readiness check
     */
    isReady(): boolean;
    /**
     * Simple liveness check
     */
    isAlive(): boolean;
    private getErrorsLast24h;
    private getAverageResponseTime;
    private measureEventLoopDelay;
}
export declare const globalHealthChecker: HealthChecker;
export declare const healthEndpoints: {
    '/health': () => Promise<HealthStatus>;
    '/health/ready': () => {
        ready: boolean;
    };
    '/health/live': () => {
        alive: boolean;
    };
    '/metrics': () => MonitoringMetrics;
};
export {};
//# sourceMappingURL=health-checker.d.ts.map