import { AnyRouter, inferRouterError } from '@trpc/server'; import { Observer, UnsubscribeFn } from '@trpc/server/observable'; import { TRPCResponseMessage } from '@trpc/server/rpc'; import { TRPCClientError } from '../TRPCClientError'; import { retryDelay } from '../internals/retryDelay'; import { Operation, TRPCLink } from './types'; declare type WSCallbackResult = TRPCResponseMessage>; declare type WSCallbackObserver = Observer, TRPCClientError>; export interface WebSocketClientOptions { url: string | (() => string); WebSocket?: typeof WebSocket; retryDelayMs?: typeof retryDelay; onOpen?: () => void; onClose?: (cause?: { code?: number; }) => void; } export declare function createWSClient(opts: WebSocketClientOptions): { close: () => void; request: (op: Operation, callbacks: WSCallbackObserver) => UnsubscribeFn; getConnection(): WebSocket; }; export declare type TRPCWebSocketClient = ReturnType; export interface WebSocketLinkOptions { client: TRPCWebSocketClient; } export declare function wsLink(opts: WebSocketLinkOptions): TRPCLink; export {}; //# sourceMappingURL=wsLink.d.ts.map