import { ReactToolCallRenderer } from "./react-tool-call-renderer.cjs"; import React from "react"; import { ToolCallStatus } from "@copilotkitnext/core"; import { InferSchemaOutput, StandardSchemaV1 } from "@copilotkitnext/shared"; //#region src/types/defineToolCallRenderer.d.ts /** * Helper to define a type-safe tool call renderer entry. * - Accepts a single object whose keys match ReactToolCallRenderer's fields: { name, args, render, agentId? }. * - Derives `args` type from the provided schema (any Standard Schema V1 compatible library). * - Ensures the render function param type exactly matches ReactToolCallRenderer["render"]'s param. * - For wildcard tools (name: "*"), args is optional and defaults to z.any() */ type RenderProps = { name: string; args: Partial; status: ToolCallStatus.InProgress; result: undefined; } | { name: string; args: T; status: ToolCallStatus.Executing; result: undefined; } | { name: string; args: T; status: ToolCallStatus.Complete; result: string; }; declare function defineToolCallRenderer(def: { name: "*"; render: (props: RenderProps) => React.ReactElement; agentId?: string; }): ReactToolCallRenderer; declare function defineToolCallRenderer(def: { name: string; args: S; render: (props: RenderProps>) => React.ReactElement; agentId?: string; }): ReactToolCallRenderer>; //#endregion export { defineToolCallRenderer }; //# sourceMappingURL=defineToolCallRenderer.d.cts.map