import { type Static, type TSchema, Type } from "typebox"; import { type ToolDefinition } from "../extensions/types.ts"; export declare const STRUCTURED_OUTPUT_TOOL_NAME = "structured_output"; export type JsonPrimitive = string | number | boolean | null; export type JsonValue = JsonPrimitive | JsonObject | JsonValue[]; export type JsonObject = { readonly [key: string]: JsonValue; }; export interface StructuredOutputCapture { value: TValue | undefined; called: boolean; } export interface StructuredOutputFileCapture { outputPath: string; } export interface StructuredOutputToolOptions { schema: TSchemaDef; capture?: StructuredOutputCapture>; output?: StructuredOutputFileCapture; name?: string; /** * Wall-clock limit in milliseconds for each call's whole decision, covering every repair attempt, transport retry * and model fallback. Defaults to the session's `httpIdleTimeoutMs` setting. The calling model cannot change it. */ timeoutMs?: number; } export declare const StructuredOutputParameters: Type.TObject<{ instructions: Type.TString; state: Type.TObject<{}>; model: Type.TOptional; fallbackModels: Type.TOptional>; }>; export type StructuredOutputParams = Static; export declare function createStructuredOutputCapture(): StructuredOutputCapture; export declare function createStructuredOutputTool(options: StructuredOutputToolOptions): ToolDefinition>; //# sourceMappingURL=structured-output.d.ts.map