/**
 * RunDoctorUseCase
 *
 * Orchestrates the `shep doctor` strategy pipeline. Resolves a list of
 * `IDiagnostic` strategies and an `IDiagnosticRunner`, executes them via
 * the runner (parallel + per-diagnostic timeout, see infrastructure
 * adapter), and returns the aggregated `DoctorReport`.
 *
 * Pure orchestration: NO presentation concerns (no formatting, no exit
 * codes). The CLI layer maps `overallStatus` to an exit code; web layers
 * render the report into a table or summary block.
 */
import type { DoctorReport, IDiagnostic, IDiagnosticRunner } from '../../ports/output/services/diagnostic.interface.js';
export interface DoctorReportSummary {
    ok: number;
    warn: number;
    fail: number;
}
export interface DoctorReportWithSummary extends DoctorReport {
    summary: DoctorReportSummary;
}
export declare class RunDoctorUseCase {
    private readonly runner;
    private readonly diagnostics;
    constructor(runner: IDiagnosticRunner, diagnostics: readonly IDiagnostic[]);
    execute(): Promise<DoctorReportWithSummary>;
}
//# sourceMappingURL=run-doctor.use-case.d.ts.map