import { TelescopeService } from '../services/telescope.service';
import { MetricsService } from '../services/metrics.service';
import { ResilientBridgeService } from '../../devtools/bridge/resilient-bridge.service';
import { TelescopeConfig } from '../interfaces/telescope-config.interface';
export interface HealthCheckResponse {
    status: 'healthy' | 'unhealthy' | 'degraded';
    timestamp: Date;
    uptime: number;
    version: string;
    services: {
        telescope: ServiceHealth;
        metrics: ServiceHealth;
        bridge: ServiceHealth;
        storage: ServiceHealth;
    };
    metrics: {
        totalEntries: number;
        errorRate: number;
        averageProcessingTime: number;
        throughput: number;
    };
    circuitBreakers?: Record<string, any>;
}
export interface ServiceHealth {
    status: 'healthy' | 'unhealthy' | 'degraded';
    message?: string;
    details?: any;
    lastChecked: Date;
}
export declare class HealthController {
    private readonly telescopeService;
    private readonly metricsService;
    private readonly resilientBridge;
    private readonly config;
    private readonly logger;
    private readonly startTime;
    constructor(telescopeService: TelescopeService, metricsService: MetricsService, resilientBridge: ResilientBridgeService, config: TelescopeConfig);
    getHealth(): Promise<HealthCheckResponse>;
    getDetailedHealth(): Promise<any>;
    getMetrics(): Promise<any>;
    getCircuitBreakers(): Promise<any>;
    private checkTelescopeHealth;
    private checkMetricsHealth;
    private checkBridgeHealth;
    private checkStorageHealth;
    private determineOverallStatus;
}
