import type { ChatCompletionParams, LLMProvider, MockScript, ProviderCapabilities, StreamChunk } from '../types/provider/index.js'; /** * A model you script. * * The previous mock could only emit text: it never yielded * `delta.toolCalls`, and `MOCK_CAPABILITIES.supportsTools` was `false`, so * capability negotiation stripped the tool surface before a request was * even built. A consumer writing a custom tool therefore had no supported * way to test that the agent loop calls it — and namzu's own maintainers * hand-rolled eight `implements LLMProvider` fakes across seven test files * to work around exactly that, each re-implementing the delta bucketing * and `toolCallEnd` framing that `streamProviderTurn` exists to hide. * * Scripted turns are emitted with the same frame sequence a real driver * produces — per-tool `index`, id and name first, then argument fragments, * then the block-close signal — so a test exercises the real consumer path * rather than a shortcut through it. */ export declare class MockLLMProvider implements LLMProvider { readonly id = "mock"; readonly name = "Mock LLM Provider"; readonly capabilities: ProviderCapabilities | undefined; private readonly model; private readonly responseDelayMs; private readonly turns; private readonly nextTurn?; private readonly onRequest?; private turnIndex; /** Every request this provider has received, in order. */ readonly requests: ChatCompletionParams[]; constructor(config?: MockScript); /** Reset the script pointer and captured requests between cases. */ reset(): void; private delay; /** * The turn to play. A script shorter than the turn repeats its last * entry, so a test that only cares about the first two turns does not * have to pad the rest — and a loop bug shows up as repetition rather * than an exhausted-script crash. */ private resolveTurn; chatStream(params: ChatCompletionParams): AsyncIterable; listModels(): Promise<{ id: string; name: string; contextWindow: number; maxOutputTokens: number; inputPrice: number; outputPrice: number; supportsToolUse: boolean; supportsStreaming: boolean; }[]>; healthCheck(): Promise; } //# sourceMappingURL=mock.d.ts.map