/** * Reporter interface + PrettyReporter + QuietReporter. * * The Reporter interface is the contract for output during recipe execution. * `PrettyReporter` renders spinners, colors, and structured output to a TTY. * `QuietReporter` silently discards all output (useful for tests and embedding). */ import type { HostRunSummary, Reporter, ResourceResult, RunMode } from "../core/types.ts"; export { formatDuration } from "../lib/formatters/output.ts"; export type { Reporter } from "../core/types.ts"; /** * A reporter that silently discards all output. * Useful for tests, embedding, or when output is handled externally. */ export declare class QuietReporter implements Reporter { resourceStart(_type: string, _name: string): void; resourceEnd(_result: ResourceResult): void; hostStart(_host: string, _hostname: string): void; hostEnd(_summary: HostRunSummary): void; checkBanner(): void; resourceOutput(_type: string, _name: string, _stream: "stdout" | "stderr", _chunk: string): void; } /** Options for creating a PrettyReporter. */ export type PrettyReporterOptions = { /** The writer to output to. Defaults to process.stderr. */ writer?: { isTerminal: () => boolean; columns?: (() => number | undefined) | undefined; writeSync(p: Uint8Array): number; } | undefined; /** The run mode (apply or check). */ mode: RunMode; }; /** * Pretty reporter with spinners and colored output. * * Renders resource execution progress with status symbols, timing, * and per-host summaries. In check mode, shows "would change" instead * of "changed". */ export declare class PrettyReporter implements Reporter { #private; constructor(opts: PrettyReporterOptions); /** Report the start of a resource execution. */ resourceStart(type: string, name: string): void; /** Report the end of a resource execution. */ resourceEnd(result: ResourceResult): void; /** Print the host header line. */ hostStart(host: string, hostname: string): void; /** Print the per-host summary line. */ hostEnd(summary: HostRunSummary): void; /** Print the check-mode banner. */ checkBanner(): void; /** Print streaming command output, pausing the spinner to avoid corruption. */ resourceOutput(_type: string, _name: string, stream: "stdout" | "stderr", chunk: string): void; } //# sourceMappingURL=reporter.d.ts.map