import type { ComponentType } from "react"; import type { ActionChatUIConfig } from "../../action-ui.js"; export interface ToolRendererContext { toolName: string; args: Record; resultText?: string; resultJson: unknown; isRunning: boolean; /** True while this is the newest tool representing an active chat turn. */ isActiveTail?: boolean; chatUI?: ActionChatUIConfig; } export interface ToolRendererProps { context: ToolRendererContext; } export type ToolRendererComponent = ComponentType; export type ToolRendererMatch = string | ((context: ToolRendererContext) => boolean); export interface ToolRendererRegistration { id: string; match: ToolRendererMatch; Component: ToolRendererComponent; } export interface ActionChatRendererRegistration { id: string; renderer: string; Component: ToolRendererComponent; } export declare function registerToolRenderer(registration: ToolRendererRegistration): () => void; export declare function registerReservedToolRenderer(registration: ToolRendererRegistration): () => void; export declare function registerReservedFallbackToolRenderer(registration: ToolRendererRegistration): () => void; export declare function registerFallbackToolRenderer(registration: ToolRendererRegistration): () => void; export declare function registerActionChatRenderer(registration: ActionChatRendererRegistration): () => void; export declare function registerReservedActionChatRenderer(registration: ActionChatRendererRegistration): () => void; export declare function resolveToolRenderer(context: ToolRendererContext): ToolRendererComponent | null; export declare function clearToolRenderersForTests(): void; export declare function clearReservedToolRenderersForTests(): void; //# sourceMappingURL=tool-render-registry.d.ts.map