import type { ExtensionContext } from "agent-sh/types"; import type { Renderer, RenderNodes, ToolCallView, ToolResultView } from "./renderer.js"; import { type ToolResultMode } from "./display-config.js"; export interface RenderState { state: Record; invalidate: () => void; nodes: RenderNodes; } export interface UserMessageArgs extends RenderState { text: string; } export interface AssistantArgs extends RenderState { text: string; } export interface ThinkingArgs extends RenderState { text: string; hidden: boolean; } export declare function registerRenderDefaults(ctx: ExtensionContext, renderer: Renderer): void; export interface ToolCallResolveArgs { toolCallId: string; name: string; title: string; kind?: string; displayDetail?: string; rawInput?: unknown; } export interface ToolResultResolveArgs { toolCallId: string; name: string; kind?: string; rawInput?: unknown; } export interface ToolHookResolver { call: (args: ToolCallResolveArgs) => ToolCallView; result: (args: ToolResultResolveArgs) => ToolResultView; modeFor: (name: string) => { mode: ToolResultMode; previewLines: number; expandedLines: number; }; } export declare function createToolHookResolver(ctx: ExtensionContext, renderer: Renderer): ToolHookResolver & { refresh: () => void; };