import { AbstractConnection } from "./AbstractConnection";
import { CallBack, Connection } from "./typedefs";
export declare class ClientConnection extends AbstractConnection implements Connection {
    private static W3cWebSocket;
    private websocketClient?;
    private reconnectOnClose;
    private pendingConnect;
    private onData;
    private onOpen;
    private protocols;
    readonly endpoint: string;
    private logger;
    private onErrorCb?;
    constructor(options: {
        endpoint: string;
        authToken?: string;
        onData: (data: Uint8Array) => Promise<void>;
        onOpen: () => void;
        reconnectOnClose?: boolean;
        logger?: CallBack;
        onError?: CallBack;
        waitFor: Promise<void>;
    });
    get readyState(): number;
    get connected(): boolean;
    connect(): void;
    private onError;
    private onClose;
    private onClosed;
    private onMessage;
    send(msg: Uint8Array): void;
    close(): void;
}
