import { Usage } from "../contracts/result/usage.type.mjs"; import { GeneratedAudio, SpeechGenerationResponse, SpeechModelContract, SpeechModelPricing, SpeechOptions } from "../contracts/speech-model.contract.mjs"; //#region ../ai/src/mock/mock-speech-model.d.ts /** One scripted response for a {@link MockSpeechModel}. */ type MockSpeechResponse = { audio?: GeneratedAudio; usage?: Usage; /** Characters synthesized; defaults to the input text length. */ characters?: number; error?: Error; delay?: number; }; /** One recorded `generate()` invocation, for test assertions. */ type MockSpeechCall = { text: string; options: SpeechOptions | undefined; }; /** Deterministic {@link SpeechModelContract} double for tests — no HTTP. */ declare class MockSpeechModel implements SpeechModelContract { readonly name: string; private readonly responses; readonly pricing?: SpeechModelPricing | undefined; readonly provider = "mock"; readonly calls: MockSpeechCall[]; private callIndex; constructor(name: string, responses: MockSpeechResponse[], pricing?: SpeechModelPricing | undefined); generate(text: string, options?: SpeechOptions): Promise; } //#endregion export { MockSpeechCall, MockSpeechModel, MockSpeechResponse }; //# sourceMappingURL=mock-speech-model.d.mts.map