/** * Terminal output formatting helpers for the `forge` CLI. * * All formatting is done via ANSI escape codes — no external colour libraries. * Respects the NO_COLOR environment variable (https://no-color.org/). * * Sprint 1 additions : * formatNextAction — "Next: `command`" with optional reason * formatSummary — compact 2-column key/value table (no borders) * formatGateProgress — gate list with status indicators, fits 80 columns */ import { ForgeAPIError } from "../shared/errors.js"; export declare const green: (t: string) => string; export declare const yellow: (t: string) => string; export declare const red: (t: string) => string; export declare const cyan: (t: string) => string; export declare const bold: (t: string) => string; export declare const dim: (t: string) => string; /** * Render a table with a header row and data rows. * * Example: * formatTable(["ID", "Name"], [["abc", "My project"], ["def", "Other"]]) * * Produces: * ┌─────┬────────────┐ * │ ID │ Name │ * ├─────┼────────────┤ * │ abc │ My project │ * │ def │ Other │ * └─────┴────────────┘ */ export declare function formatTable(headers: string[], rows: string[][]): string; /** Pretty-print any value as indented JSON. */ export declare function formatJSON(data: unknown): string; /** * A single labelled status line. * * Example: formatStatus("Status", "active", "green") → "Status: active" (coloured) */ export declare function formatStatus(label: string, value: string, color?: string): string; /** Green checkmark prefix. */ export declare function formatSuccess(message: string): string; /** Yellow warning prefix. */ export declare function formatWarning(message: string): string; /** * Structured error display. * * For ForgeAPIError: shows HTTP status, detail, context, and suggestion. * For generic Error: shows message. */ export declare function formatError(error: ForgeAPIError | Error): string; /** * Print the next recommended action in a visually distinct way. * * Example output: * Next: `forge status` — see your gate progress */ export declare function formatNextAction(command: string, reason?: string): string; /** * Compact 2-column key/value summary with no borders. * Labels are right-padded to the longest label width for alignment. * * Example: * Project my-project * Pathway standard * Gate GATE_1_EXEC_SPEC_APPROVED */ export declare function formatSummary(fields: Record): string; /** * Gate list with compact status indicators, constrained to 80 columns. * * Renders up to `maxLines` gates (default: all). Truncates with a "… N more" * indicator if the list is longer. * * Status icons: * ✓ passed / approved * ● active / in_progress * ✗ failed / rejected / blocked * ○ pending / unknown */ export interface GateProgressItem { id: string; label: string; status: string; /** Optional detail shown after the status icon (e.g. "1 artifact missing") */ detail?: string; } export declare function formatGateProgress(gates: GateProgressItem[], maxLines?: number): string; //# sourceMappingURL=output.d.ts.map