import type { JsonSchema } from "../../tool/schema/index.js"; import type { RuntimeToolSet } from "./runtime-tool-types.js"; interface RuntimeJsonSchema extends Record { readonly jsonSchema: JsonSchema | PromiseLike; validate?: (value: unknown) => T | PromiseLike; } type RuntimeLazySchema = () => RuntimeJsonSchema; interface RuntimeToolDefinition { description: string; inputSchema: RuntimeJsonSchema; type?: "function" | "dynamic"; execute?: (...args: unknown[]) => unknown; onInputAvailable?: (...args: unknown[]) => unknown; onInputStart?: (...args: unknown[]) => unknown; onInputDelta?: (...args: unknown[]) => unknown; needsApproval?: (...args: unknown[]) => unknown; } interface RuntimeProviderToolDefinition { type: "provider"; id: string; args: Record; inputSchema: RuntimeLazySchema; outputSchema?: RuntimeLazySchema; execute?: undefined; needsApproval?: undefined; toModelOutput?: undefined; onInputStart?: undefined; onInputDelta?: undefined; onInputAvailable?: undefined; supportsDeferredResults?: boolean; } export declare function createRuntimeJsonSchema(json: JsonSchema): RuntimeJsonSchema; export declare function createLazyRuntimeJsonSchema(json: JsonSchema): RuntimeLazySchema; export declare function createRuntimeTool(definition: { description: string; inputSchema: RuntimeJsonSchema; type?: "function" | "dynamic"; }): RuntimeToolDefinition; export declare function addRuntimeTool(toolSet: RuntimeToolSet, name: string, definition: RuntimeToolDefinition): void; export declare function createRuntimeProviderTool(definition: { id: string; args: Record; inputSchema: RuntimeLazySchema; outputSchema?: RuntimeLazySchema; supportsDeferredResults?: boolean; }): RuntimeProviderToolDefinition; export {}; //# sourceMappingURL=runtime-tool-builder.d.ts.map