import type { LanguageModel } from "ai"; export interface ScriptedModelCall { prompt: Array<{ role: string; content: string | Array<{ type?: string; text?: string; }>; /** Per-message provider hints (e.g. the Anthropic ephemeral cache * breakpoint the generation prompt sets on its stable prefix). Present in * the normalized LanguageModelV2 prompt so tests can assert on it. */ providerOptions?: Record; }>; /** W4 pipeline — the tool definitions the caller passed (strict tool-use * calls), so tests can assert on the generated fix-space schema. */ tools?: Array<{ name: string; description?: string; inputSchema?: unknown; }>; toolChoice?: unknown; } /** A scripted turn is either streamed text or one forced tool call * (W4 pipeline — structured repair / outline are strict tool-use calls). */ export interface ScriptedToolCall { tool: string; input: unknown; } type ScriptedText = string | string[] | ScriptedToolCall; export type ScriptedModelResponse = ScriptedText | ((call: ScriptedModelCall, index: number) => ScriptedText | Promise); /** Deterministic LanguageModelV2 equivalent for AI SDK generateText e2e tests. */ export declare const scriptedLanguageModel: (...responses: ScriptedModelResponse[]) => LanguageModel; /** Compatibility fixture for lifecycle/execution suites that only need valid generation. */ export declare const basicLanguageModel: () => LanguageModel; export {}; //# sourceMappingURL=scripted-model.d.ts.map