import { SourceManager } from './source-manager.js';
export interface ComponentHealth {
    status: 'healthy' | 'degraded' | 'unhealthy';
    details?: Record<string, unknown>;
    lastChecked: string;
    responseTime?: number;
}
export interface ServiceHealth extends ComponentHealth {
    uptime: number;
    version: string;
    environment: string;
    dependencies: {
        sources: ComponentHealth;
    };
    metrics: {
        memory: {
            used: number;
            total: number;
            percentage: number;
        };
        activeConnections: number;
        totalRequests?: number;
    };
}
export declare class HealthService {
    private startTime;
    private requestCount;
    private sourceManager?;
    private version;
    private environment;
    constructor(sourceManager?: SourceManager, version?: string, environment?: string);
    /**
     * Increment request counter for metrics
     */
    incrementRequestCount(): void;
    /**
     * Get comprehensive health status
     */
    getHealth(): Promise<ServiceHealth>;
    /**
     * Check readiness (can handle requests)
     */
    isReady(): Promise<boolean>;
    /**
     * Check liveness (application is running)
     */
    isAlive(): Promise<boolean>;
    /**
     * Get sources health status
     */
    private getSourcesHealth;
}
//# sourceMappingURL=health-service.d.ts.map