import { Readable, Writable } from 'stream'; import { EventEmitter } from 'events'; import { MCPMessage } from './types.js'; import { MessageFormatter } from './messages.js'; /** * Abstract transport interface for MCP communication * Extends EventEmitter to support event-based messaging */ export declare abstract class Transport extends EventEmitter { protected formatter: MessageFormatter; abstract connect(): Promise; abstract disconnect(): Promise; abstract send(message: MCPMessage): Promise; abstract receive(): AsyncIterator; abstract isConnected(): boolean; constructor(); } /** * Stdio transport implementation for process communication */ export declare class StdioTransport extends Transport { private input; private output; private connected; private buffer; private messageQueue; private waitingResolvers; constructor(input?: Readable, output?: Writable); connect(): Promise; disconnect(): Promise; send(message: MCPMessage): Promise; receive(): AsyncIterator; isConnected(): boolean; /** * Process the input buffer and extract complete messages */ private processBuffer; /** * Wait for the next message */ private waitForMessage; /** * Resolve waiting iterators when new messages arrive or connection closes */ private resolveWaitingIterators; } //# sourceMappingURL=transport.d.ts.map