import { type Component } from "@kolisachint/hoocode-tui"; /** The single most identifying argument of a call, as a one-line string. */ export declare function toolSubject(args: unknown, cwd: string): string; export interface ToolSignalInput { toolName: string; args: unknown; cwd: string; result?: { content: Array<{ type: string; text?: string; data?: string; mimeType?: string; }>; isError: boolean; }; isPartial: boolean; showImages: boolean; /** The newest call in the transcript. Themes that set `activeToolBg` mark it. */ isLatest?: boolean; } /** * The flush-right signal: how much output came back, or why none did. * * Line count is the useful magnitude for nearly every tool here — it is what * separates a search that found one hit from one that found four hundred. A * result with no text (a successful `edit`, a `TodoWrite`) has no magnitude * worth printing, so it reports the outcome instead. */ export declare function toolSignal(input: ToolSignalInput): { text: string; color: "success" | "error" | "warning"; }; /** * Render one radar row, already padded and coloured, without the status dot — * the caller prepends that so the dot stays inline with the first line the same * way it does in the other two views. */ export declare function renderToolSignalLine(input: ToolSignalInput, width: number): string; /** * Component wrapper so a radar row slots into the same container the call * renderers use, and re-renders on resize like everything else. */ export declare class ToolSignalComponent implements Component { private input; private memo?; constructor(input: ToolSignalInput); setInput(input: ToolSignalInput): void; invalidate(): void; render(width: number): string[]; } //# sourceMappingURL=tool-signal.d.ts.map