/**
 * DiagnosticRunner
 *
 * Implementation of `IDiagnosticRunner` for `shep doctor`. Runs every
 * diagnostic in parallel via `Promise.allSettled` with a per-diagnostic
 * timeout (default 3 s, NFR-7). Worst-case wall-clock = the slowest single
 * check, not the sum.
 *
 * Failures and timeouts surface as structured `DiagnosticResult`s rather
 * than rejected promises so the report always populates fully.
 */
import type { DoctorReport, IDiagnostic, IDiagnosticRunner } from '../../../application/ports/output/services/diagnostic.interface.js';
interface RunnerOptions {
    /** Per-diagnostic timeout in milliseconds. Default: 3000 (NFR-7). */
    timeoutMs?: number;
}
export declare class DiagnosticRunner implements IDiagnosticRunner {
    private readonly timeoutMs;
    constructor(options?: RunnerOptions);
    runAll(diagnostics: readonly IDiagnostic[]): Promise<DoctorReport>;
    private runOne;
}
export {};
//# sourceMappingURL=diagnostic-runner.service.d.ts.map