import type { Transport, TransportSendOptions } from '@modelcontextprotocol/sdk/shared/transport.js';
import { type JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
export declare class ProtocolVersionGuardTransport implements Transport {
    readonly inner: Transport;
    private readonly supportedVersions;
    onclose: () => void;
    onerror: (error: Error) => void;
    onmessage: NonNullable<Transport['onmessage']>;
    private sawInitialize;
    private ready;
    constructor(inner: Transport, supportedVersions: readonly string[]);
    setProtocolVersion(version: string): void;
    start(): Promise<void>;
    send(message: JSONRPCMessage, options?: TransportSendOptions): Promise<void>;
    close(): Promise<void>;
    private handleMessage;
    private handleInitialize;
    private handleInitializedNotification;
    private handleBeforeReady;
}
//# sourceMappingURL=protocol-version-guard.d.ts.map