import { type ToolItem, type ToolStatus } from "../../ui-core/state/transcript-types.js"; import { type BlockContext } from "./block-context.js"; /** Collapsed body rows (04-UI-SPEC ยง3.5). */ export declare const TOOL_COLLAPSED_BODY_ROWS = 3; export declare const TOOL_EXPANDED_BODY_ROWS = 40; /** Body rows kept while the tool is still open and clipped by the live tail. */ export declare const TOOL_LIVE_BODY_ROWS = 8; export declare function toolGlyph(ctx: BlockContext, status: ToolStatus): string; export declare function toolElapsed(ctx: BlockContext, item: ToolItem): string | undefined; /** * Right-aligned status suffix; dropped only on very narrow screens (<44 cols). * `statusLabel` already carries the non-zero exit code, so nothing is appended. */ export declare function toolSuffix(ctx: BlockContext, item: ToolItem, statusLabel: string): string; export declare function toolHeaderLines(ctx: BlockContext, item: ToolItem): string[]; export interface ToolBodyOptions { /** Hard cap on rendered body rows; the live tail passes a smaller number. */ readonly maxRows?: number | undefined; } export declare function outputToggleLabel(expanded: boolean): string; export declare function buildToolBodyLines(ctx: BlockContext, item: ToolItem, options?: ToolBodyOptions): string[]; export declare function buildToolLines(ctx: BlockContext, item: ToolItem, options?: ToolBodyOptions): string[];