import type { ChildOutcome } from "./types.js"; export interface PortfolioReport { total: number; completed: number; failed: number; other: number; generatedAt: string; children: ChildOutcome[]; rounds?: number; } export declare class PortfolioReporter { /** * Tally a list of ChildOutcome records into a PortfolioReport. * * - completed: status === "completed" * - failed: status === "failed" * - other: anything else (running / aborted / unknown) * - generatedAt: ISO-8601 timestamp at call time */ build(outcomes: ChildOutcome[], opts?: { rounds?: number; }): PortfolioReport; /** * Atomically write the PortfolioReport to /.bober/fleet-report.json. * * Uses temp file + rename to prevent partial-write corruption (mirrors * writeRunState in src/state/run-state.ts). * * This is the ONE place in the fleet subsystem allowed to throw on IO failure. * * @returns The absolute path of the written file. */ write(rootDir: string, report: PortfolioReport): Promise; } //# sourceMappingURL=reporter.d.ts.map