import type { BidiEvent, BidiInput, BidiProvider, BidiSession } from '../../types/bidi/index.js'; /** * A duplex driver you script. * * The loop it exercises has no real service behind it yet, and that is * the ordinary situation for a driver contract in this codebase rather * than a reason not to have one: the turn-based path is developed and * regression-tested against a scripted model too. What this makes * testable is the part that is genuinely namzu's — running tools without * stalling the stream, and abandoning their answers when the human speaks * over the model. */ export interface MockBidiScript { /** Events the far side emits, in order, as the test releases them. */ readonly events?: readonly BidiEvent[]; /** Emit everything immediately instead of waiting to be stepped. */ readonly auto?: boolean; } export interface MockBidiSession extends BidiSession { /** Release the next scripted event. */ step(): void; /** Emit an event the script did not contain. */ push(event: BidiEvent): void; /** Everything the loop sent back, in order. */ readonly sent: ReadonlyArray; } export declare function createMockBidiProvider(script?: MockBidiScript): BidiProvider & { session(): MockBidiSession | undefined; }; //# sourceMappingURL=mock.d.ts.map