import type { JsonRpcNotification, JsonRpcRequest, JsonRpcResponse, McpRequestOptions } from "./types.js"; export type McpTransportFailureKind = "spawn" | "timeout" | "cancelled" | "closed" | "protocol" | "network" | "too-large" | "browser"; export declare class McpTransportError extends Error { readonly kind: McpTransportFailureKind; readonly status?: number | undefined; constructor(kind: McpTransportFailureKind, message: string, status?: number); } export interface McpTransport { readonly kind: "stdio" | "http" | "sse"; start(options?: McpRequestOptions): Promise; request(message: JsonRpcRequest, options?: McpRequestOptions): Promise; notify(message: JsonRpcNotification, options?: McpRequestOptions): Promise; close(): Promise; sessionId(): string | undefined; setProtocolVersion(version: string): void; } export declare function isAbortError(error: unknown): boolean; export declare function withTimeout(parent: AbortSignal | undefined, timeoutMs: number | undefined): { signal: AbortSignal; dispose: () => void; };