import type { ErrorType } from '../errors/utils.js'; import { type CreateBatchSchedulerErrorType } from '../promise/createBatchScheduler.js'; import type { RpcRequest, RpcResponse } from '../types/rpc.js'; type Id = string | number; type CallbackFn = { onResponse: (message: any) => void; onError?: ((error?: Error | Event | undefined) => void) | undefined; }; type CallbackMap = Map; export type GetSocketParameters = { onClose: () => void; onError: (error?: Error | Event | undefined) => void; onOpen: () => void; onResponse: (data: RpcResponse) => void; }; export type Socket = socket & { close(): void; ping?: (() => void) | undefined; request(params: { body: RpcRequest; }): void; }; export type SocketRpcClient = { close(): void; socket: Socket; request(params: { body: RpcRequest; onError?: ((error?: Error | Event | undefined) => void) | undefined; onResponse: (message: RpcResponse) => void; }): void; requestAsync(params: { body: RpcRequest; timeout?: number | undefined; }): Promise; requests: CallbackMap; subscriptions: CallbackMap; url: string; }; export type GetSocketRpcClientParameters = { getSocket(params: GetSocketParameters): Promise>; keepAlive?: boolean | { interval?: number | undefined; } | undefined; key?: string; reconnect?: boolean | { attempts?: number | undefined; delay?: number | undefined; } | undefined; url: string; }; export type GetSocketRpcClientErrorType = CreateBatchSchedulerErrorType | ErrorType; export declare const socketClientCache: Map void) | undefined; request(params: { body: RpcRequest; }): void; }>>; export declare function getSocketRpcClient(parameters: GetSocketRpcClientParameters): Promise>; export {}; //# sourceMappingURL=socket.d.ts.map