import type { CallOptions, Client } from '@connectrpc/connect'; import { SignalingService } from '../gen/proto/rpc/webrtc/v1/signaling_connect'; import { ClientChannel } from './client-channel'; import type { DialWebRTCOptions } from './dial'; export declare class SignalingExchange { private readonly signalingClient; private readonly callOpts; private readonly pc; private readonly dc; private readonly dialOpts?; private readonly clientChannel; private callUuid?; private sentDoneOrErrorOnce; private exchangeDone; private iceComplete; private haveInitResponse; private awaitingRemoteDescription?; private remoteDescriptionSet?; private numCallUpdates; private maxCallUpdateDuration; private totalCallUpdateDuration; constructor(signalingClient: Client, callOpts: CallOptions, pc: RTCPeerConnection, dc: RTCDataChannel, dialOpts?: DialWebRTCOptions | undefined); doExchange(): Promise; private setup; terminate(err: Error): void; private processCallResponses; private handleInitError; private handleInitResponse; private handleUpdateResponse; private onLocalICECandidate; private sendError; private sendDone; }