/** * Render helpers for `graph --workspace` output — both the human * terminal report and the JSON shape. Extracted from `cli/graph.ts` * to keep the dispatcher file under the file-length-limit fitness * check. */ import type { WorkspaceUnitRunResult } from './workspace-runner.js'; import type { ToolCliContext } from '@opensip-cli/core'; /** * Compose the human-readable workspace report as plain lines (no Ink twin), * for the render seam. */ export declare function workspaceReportLines(perUnit: readonly WorkspaceUnitRunResult[], durationMs: number): readonly string[]; /** * Render the human-readable workspace report through the seam (Ink on TTY, * plain text in pipes/CI) rather than writing to stdout directly. */ export declare function writeWorkspaceReport(perUnit: readonly WorkspaceUnitRunResult[], durationMs: number, cli: ToolCliContext): Promise; /** * Build the JSON document object for `graph --workspace --json`. Returns the * plain object so the dispatcher can route it through the CLI's `emitJson` * seam (ADR-0011: tools emit, the composition root owns the stdout IO), * instead of writing to `process.stdout` directly. */ export declare function buildWorkspaceJsonDocument(perUnit: readonly WorkspaceUnitRunResult[], durationMs: number): Record; /** * Render the JSON document for `graph --workspace --json` as a string. * Retained for unit-test ergonomics; the dispatcher emits the object via * `cli.emitJson` (which applies the same `JSON.stringify(_, null, 2)`). */ export declare function renderWorkspaceJson(perUnit: readonly WorkspaceUnitRunResult[], durationMs: number): string; //# sourceMappingURL=workspace-report.d.ts.map