import type { Client } from '../Client'; import type { IncomingMessage, OutgoingMessage } from '../../messages'; import { ClientAdapterConfig } from './ClientAdapterConfig'; export declare abstract class ClientAdapter implements ClientAdapterConfig { autoReconnect: boolean; maxAutoReconnectTry: number; client?: Client; protected constructor(cfg?: Partial); setClient(client: Client): void; getClient(): Client; beforeSend(message: IncomingMessage): Promise; abstract send(message: IncomingMessage): Promise; abstract sendBinary(message: BinaryData): Promise; abstract getUrl(): string; abstract close(): void; protected onMessage(message: OutgoingMessage): void; }