import { WebSocket, CloseEvent } from './IsomorphicWebSocket'; export interface ConnectionConfig { address?: { http: string; webSocket: string; }; host?: string; port?: number; tls?: boolean; maxPayload?: number; } export interface Connection { maxPayload: number; address: { http: string; webSocket: string; }; } export interface InteractionContext { connection: Connection; socket: WebSocket; } export type InteractionType = ('LongRunning' | 'OneTime'); export type Mirror = { [k: string]: unknown; }; export type WebSocketErrorHandler = (error: Error) => void; export type WebSocketCloseHandler = (code: CloseEvent['code'], reason: CloseEvent['reason']) => void; export declare class JSONRPCError extends Error { code: number; data?: any; id?: any; constructor(code: number, message: string, data?: any, id?: any); static tryFrom(any: any): JSONRPCError; } export declare function createConnectionObject(config?: ConnectionConfig): Connection; export declare const createInteractionContext: (errorHandler: WebSocketErrorHandler, closeHandler: WebSocketCloseHandler, options?: { connection?: ConnectionConfig; maxEventListeners?: number; }) => Promise; export declare const baseRequest: { jsonrpc: string; }; export declare const ensureSocketIsOpen: (socket: WebSocket) => void; export declare const send: (send: (socket: WebSocket) => Promise, context: InteractionContext) => Promise; export declare const Method: (req: { method: Request_1["method"]; params?: Request_1["params"]; }, res: { handler?: (response: Response_1, resolve: (value?: A | PromiseLike) => void, reject: (reason?: any) => void) => void; }, context: InteractionContext) => Promise; //# sourceMappingURL=Connection.d.ts.map