import type { Readable, Writable } from 'stream'; import type { JSONRPCMessage } from './types.js'; import { BaseTransport, type BaseTransportConfig } from './base-transport.js'; /** * Configuration for StdioTransport. */ export interface StdioTransportConfig extends BaseTransportConfig { /** Maximum message size in bytes (default: 10MB) */ maxMessageSize?: number; /** Maximum buffer size in bytes (default: 20MB) */ maxBufferSize?: number; /** Maximum header size in bytes (default: 8KB) */ maxHeaderSize?: number; /** Use newline-delimited JSON instead of Content-Length framing */ useNewlineDelimited?: boolean; } /** * StdioTransport handles JSON-RPC message framing over stdio streams. * Uses Content-Length header protocol for message boundaries. * * Adapted from Overwatch's MCPTransport for client-side usage. */ export declare class StdioTransport extends BaseTransport { private input; private output; private buffer; private contentLength; private readonly maxMessageSize; private readonly maxBufferSize; private readonly maxHeaderSize; private readonly useNewlineDelimited; private connected; constructor(input: Readable, output: Writable, config?: StdioTransportConfig); /** * Check if the transport is connected. */ isConnected(): boolean; private setupInputHandler; private processBuffer; send(message: JSONRPCMessage, _signal?: AbortSignal): void; close(): void; } //# sourceMappingURL=stdio-transport.d.ts.map