import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
import type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
/**
 * Stdio transport that explicitly rejects JSON-RPC batch arrays.
 *
 * MCP protocol revisions >= 2025-06-18 removed JSON-RPC batching; servers must reject array payloads.
 */
export declare class BatchRejectingStdioServerTransport implements Transport {
    onclose: () => void;
    onerror: (error: Error) => void;
    onmessage: NonNullable<Transport['onmessage']>;
    private readonly stdin;
    private readonly stdout;
    private readonly readBuffer;
    private started;
    private readonly onData;
    private readonly onStdinError;
    constructor(stdin?: NodeJS.ReadableStream, stdout?: NodeJS.WritableStream);
    start(): Promise<void>;
    close(): Promise<void>;
    send(message: JSONRPCMessage): Promise<void>;
    private sendInvalidRequest;
    private sendInvalidRequestUnknownId;
    private sendParseError;
    private handleBatch;
    private handleNonBatch;
    private handleLine;
    private handleLineSafely;
    private drainReadBuffer;
    private handleReadBufferError;
    private processReadBuffer;
}
//# sourceMappingURL=stdio-transport.d.ts.map