import type { ToolCallId } from "../../app/events/app-event.js"; import type { BoundedTextState } from "../../app/events/event-buffer.js"; import type { MarkdownStreamCache } from "../../ui-core/rendering/streaming-markdown.js"; import type { TranscriptState } from "../../ui-core/state/transcript-types.js"; import type { Glyphs } from "../render/glyphs.js"; import type { InkTheme } from "../render/ink-theme.js"; export interface SpoolReader { tail(toolCallId: ToolCallId): string; state(toolCallId: ToolCallId): BoundedTextState | undefined; } export declare const EMPTY_SPOOL: SpoolReader; export interface BlockContext { readonly width: number; readonly ink: InkTheme; readonly glyphs: Glyphs; readonly now: number; readonly state: TranscriptState; readonly spool: SpoolReader; readonly markdownCache: MarkdownStreamCache | undefined; } export declare const SUFFIX_MIN_COLUMNS = 44; export declare function separator(ctx: BlockContext): string; export declare function joinMeta(ctx: BlockContext, parts: readonly (string | undefined)[]): string; export declare function clipRow(ctx: BlockContext, text: string): string; export declare function formatElapsed(ms: number): string; export declare function hiddenLinesTrailer(ctx: BlockContext, hidden: number, chord: string, extra?: string): string | undefined;