import type { JsonRpcErrorPayload, JsonRpcFailure, JsonRpcId, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcResponse, JsonRpcSuccess } from "./types.js"; export declare const MCP_MAX_FRAME_BYTES: number; export declare class JsonRpcError extends Error { readonly code: number; readonly data: unknown; constructor(payload: JsonRpcErrorPayload); } export declare function createRequest(id: JsonRpcId, method: string, params?: unknown): JsonRpcRequest; export declare function createNotification(method: string, params?: unknown): JsonRpcNotification; export declare function encodeMessage(message: JsonRpcMessage): string; export declare function encodeLine(message: JsonRpcMessage): string; export declare function isJsonRpcResponse(value: unknown): value is JsonRpcResponse; export declare function isJsonRpcSuccess(value: JsonRpcResponse): value is JsonRpcSuccess; export declare function isJsonRpcFailure(value: JsonRpcResponse): value is JsonRpcFailure; export declare function isJsonRpcRequest(value: unknown): value is JsonRpcRequest; export declare function isJsonRpcNotification(value: unknown): value is JsonRpcNotification; export declare function parseMessage(line: string): JsonRpcMessage | undefined; export declare function resultOrThrow(response: JsonRpcResponse): unknown; export declare class LineDecoder { private buffer; private readonly decoder; private readonly maxBytes; constructor(maxBytes?: number); push(chunk: Uint8Array | string): string[]; flush(): string[]; } export interface SseEvent { readonly event: string; readonly data: string; readonly id?: string | undefined; } export declare class SseDecoder { private buffer; private readonly decoder; private readonly maxBytes; constructor(maxBytes?: number); push(chunk: Uint8Array | string): SseEvent[]; private nextBoundary; private parseBlock; }