import type { AgentEvent } from "../../agent/events.js"; import type { Glyphs } from "../../classic/render/glyphs.js"; import type { InkTheme, TextStyle, ThemeToken } from "../../classic/render/ink-theme.js"; export type StreamVerbosity = "quiet" | "normal" | "verbose"; export interface StreamContext { readonly width: number; readonly ink: InkTheme; readonly glyphs: Glyphs; readonly verbosity: StreamVerbosity; readonly showThinking: boolean; readonly plainPrefixes: boolean; readonly bodyRows: number; } export declare const BODY_INDENT = 4; export declare function quiet(ctx: StreamContext): boolean; export declare function verbose(ctx: StreamContext): boolean; export declare function row(ctx: StreamContext, text: string): string; export declare function meta(ctx: StreamContext, parts: readonly (string | undefined)[]): string; export declare function styled(ctx: StreamContext, text: string, style: TextStyle): string; export declare function marker(ctx: StreamContext, glyph: string, label: string, token: ThemeToken): string; export declare function indented(ctx: StreamContext, text: string, style: TextStyle, indent?: number): string[]; export declare function hiddenTrailer(ctx: StreamContext, hidden: number, extra?: string): string[]; export interface ToolResultExtras { readonly elapsed?: string | undefined; } export declare function buildToolResultLines(ctx: StreamContext, event: Extract, extras?: ToolResultExtras): readonly string[]; export declare function buildToolDiffLines(ctx: StreamContext, event: Extract, name: string): readonly string[]; export declare function buildBatchLines(ctx: StreamContext, body: string): readonly string[]; export declare function buildPlanUpdateLines(ctx: StreamContext, event: Extract): readonly string[];