import { Socket } from "socket.io-client";
import { OutgoingMessage } from "./outgoing-message";
import { IncomingMessage } from "./incoming-message";
import { PubbyStream } from "../lib/streams";
import { Pubby } from "../client";
export declare class WsStream extends PubbyStream<OutgoingMessage, IncomingMessage> {
    private url;
    private pubby;
    io: Socket;
    private syncTimer;
    private _timeOffset;
    constructor(url: string, pubby: Pubby);
    connect(reconnect?: boolean): Promise<void>;
    add(data: OutgoingMessage, cb?: (err: Error, data: any) => void): this;
    asyncAdd(data: OutgoingMessage): Promise<unknown>;
    listen<T extends Function>(type: T): PubbyStream<any>;
    _write(message: OutgoingMessage, cb?: (err: Error, data: any) => void): void;
    get timeOffset(): number;
    get now(): number;
    private syncTime;
}
