import type { WsClientEvent } from './types.js'; import { type InternalOrigin } from './origin.js'; export type EventHandler = (event: T) => void; export interface WsClientOptions { token: string; baseUrl?: string; maxReconnectAttempts?: number; reconnectJitter?: boolean; reconnectBaseDelayMs?: number; reconnectMaxDelayMs?: number; circuitBreakerMaxAttempts?: number; /** Log warnings for dropped/malformed WebSocket messages via console.warn. */ debug?: boolean; } export declare function withInternalWsOrigin(options: T, origin: InternalOrigin): T; export declare class WsClient { private token; private baseUrl; private ws; private handlers; private isOpen; private reconnectAttempt; private maxReconnectAttempts; private reconnectJitter; private reconnectBaseDelayMs; private reconnectMaxDelayMs; private circuitBreakerMaxAttempts; private permanentlyDisconnected; private reconnectTimer; private connectTimer; private connectTimeoutMs; private pingTimer; private closed; private debug; private originSurface; private originClient; private originVersion; constructor(options: WsClientOptions); connect(): void; disconnect(): void; reconnect(): void; subscribe(channels: string[]): void; unsubscribe(channels: string[]): void; on(event: string, handler: EventHandler): () => void; off(event: string, handler: EventHandler): void; get connected(): boolean; private emit; private sendJson; private startPing; private stopPing; private clearConnectTimer; private computeReconnectDelayMs; private tripCircuitBreaker; private scheduleReconnect; } //# sourceMappingURL=ws.d.ts.map