/** * [WHO]: Provides formatTaskState(), formatSnapshot(), describeDecision(), describeTerminalSnapshot(), describeTaskState(), buildCompletionReport() * [FROM]: Depends on ./grub-feature-list, ./grub-i18n, ./grub-types for human-readable /grub TUI copy * [TO]: Consumed by ./index.ts and tests for status/result rendering * [HERE]: extensions/builtin/grub/grub-format.ts - user-facing formatting boundary for Grub status messages */ import { type GrubLocale } from "./grub-i18n.js"; import type { GrubDecision, GrubTaskSnapshot, GrubTaskState } from "./grub-types.js"; export declare function formatTaskState(task: GrubTaskState): string; export declare function formatSnapshot(snapshot: GrubTaskSnapshot): string; export declare function describeDecision(decision: GrubDecision, locale: GrubLocale): string; /** * One-line completion report for the chat stream: runtime, turns, tool calls, * and token totals. Returns undefined when the task did not complete or no * run metrics were accumulated (e.g. metric folding was skipped). */ export declare function buildCompletionReport(snapshot: GrubTaskSnapshot): string | undefined; export declare function describeTerminalSnapshot(snapshot: GrubTaskSnapshot | undefined, locale: GrubLocale): string; export declare function describeTaskState(status: GrubTaskState["status"], phase: GrubTaskState["phase"], awaitingTurn: boolean, locale: GrubLocale): string;