import type { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js"; import type { Transport, TransportSendOptions } from "@modelcontextprotocol/sdk/shared/transport.js"; import type { CassetteEntry } from "../cassette.js"; export declare class RecordingTransport implements Transport { private readonly inner; private readonly entries; private readonly startTime; /** Maps JSON-RPC request id → method name for response matching. */ private readonly pendingRequests; constructor(inner: Transport); start(): Promise; send(message: JSONRPCMessage, options?: TransportSendOptions): Promise; close(): Promise; onclose?: () => void; onerror?: (error: Error) => void; onmessage?: (message: T, extra?: unknown) => void; get sessionId(): string | undefined; private recordOutgoing; private recordIncoming; /** Returns all recorded entries. Call after the session is complete. */ getEntries(): CassetteEntry[]; }