import { AbstractSocket, SocketClientOptions, SocketMessage } from "./types"; export declare class SocketClient> { private readonly socket; private readonly options; private isConnected; private messageQueue; private subscriptions; private rateLimiter?; private heartbeatIntervalId?; constructor(socket: AbstractSocket, options: SocketClientOptions); connect(): Promise; send(message: SocketMessage): Promise; subscribe(messageType: string, handler: (message: SocketMessage) => void): void; unsubscribe(messageType: string): void; disconnect(): Promise; private handleMessage; private startHeartbeat; private stopHeartbeat; private enqueueMessage; private processRateLimitedQueue; private flushQueue; }