/**
 * TODO: DECLARATIVE PROGRAMMING PATTERN
 *
 * This file demonstrates excellent declarative programming practices:
 * - Pure functions with async/await composition
 * - Functional array methods (map, every, forEach, filter)
 * - Immutable data transformations
 * - Object spread operator for composition
 * - No imperative loops or state mutations
 * - Clear data flow transformations
 *
 * Mutation Score: 100% - Functional composition makes testing trivial!
 */
import { PluginManager } from './PluginManager';
export interface HealthStatus {
    healthy: boolean;
    plugins: Array<{
        name: string;
        healthy: boolean;
        message?: string;
    }>;
}
export declare class HealthChecker {
    private pluginManager;
    constructor(pluginManager: PluginManager);
    /**
     * Get overall health status
     */
    getHealth(): Promise<HealthStatus>;
    /**
     * Check if specific plugin is healthy
     */
    isPluginHealthy(pluginName: string): Promise<boolean>;
    /**
     * Get detailed health information
     */
    getDetailedHealth(): Promise<{
        overall: boolean;
        plugins: Record<string, {
            healthy: boolean;
            message?: string;
        }>;
        summary: {
            total: number;
            healthy: number;
            unhealthy: number;
        };
    }>;
}
//# sourceMappingURL=HealthChecker.d.ts.map