import { type ResolvedToolRule } from "../../config.js"; import type { ToolBodySyntaxHighlights } from "../../syntax-highlight.js"; import type { Theme } from "../../theme.js"; import type { RenderedLine, StyledSegment } from "../types.js"; import type { ToolBodyLineStyle } from "../../tool-renderers/types.js"; export type ToolBlockEntry = { id: string; toolName: string; headerLabel?: string | undefined; headerArgs?: string | undefined; headerArgSegments?: readonly StyledSegment[] | undefined; bodyLineStyles?: readonly ToolBodyLineStyle[] | undefined; bodyStyle?: "diff" | undefined; preserveAnsi?: boolean | undefined; expanded: boolean; status: "running" | "done"; isError: boolean; output: string; collapsedBody: string; expandedText: string; bodyWrap?: "char" | "word" | undefined; syntaxHighlight?: ToolBodySyntaxHighlights | undefined; }; export type ToolBlockRenderOptions = { superCompact?: boolean; backgroundOverride?: string; skipHeaderBackground?: boolean; showGutter?: boolean; headerColorOverride?: string; }; export declare function renderToolBlock(entry: ToolBlockEntry, rule: ResolvedToolRule, width: number, colors: Theme["colors"], options?: ToolBlockRenderOptions): RenderedLine[]; export type AnsiStyledLine = { text: string; segments: StyledSegment[]; }; export declare function ansiStyledLine(rawLine: string): AnsiStyledLine;