import type { Doc } from "yjs";
import { SignalClientMessage } from "../shared/types";
import { RoomOptions } from "./room";
export declare class YjsWebRTCProvider {
    private rtcOptions;
    private readonly signalingConnections;
    private readonly rooms;
    private peerInitiator;
    constructor(signallingServers: string[], rtcOptions?: RTCConfiguration);
    joinRoom(roomName: string, doc: Doc, options: RoomOptions): Promise<void>;
    leaveRoom(roomName: string): Promise<void>;
    private onSignal;
    private onAnnounce;
    /** @internal **/
    sendSignal(msg: SignalClientMessage): void;
    private createSignallingConnection;
    dispose(): Promise<void>;
}
