import { Event } from '../utils/event.js';
import { MessageTransport, MessageTransportProvider } from './transport.js';
export interface WebSocketTransportProvider extends MessageTransportProvider {
    Constructor: typeof WebSocket;
}
export declare const WebSocketTransportProvider: WebSocketTransportProvider;
export declare class WebSocketTransport implements MessageTransport {
    protected socket: WebSocket;
    readonly id = "websocket";
    private onDisconnectEmitter;
    private onErrorEmitter;
    private ready;
    get onReconnect(): Event<void>;
    get onDisconnect(): Event<void>;
    get onError(): Event<string>;
    constructor(socket: WebSocket);
    write(data: Uint8Array): Promise<void>;
    read(cb: (data: Uint8Array) => void): void;
    dispose(): void;
}
//# sourceMappingURL=websocket-transport.d.ts.map