import type { AnimojiReceiver, AnimojiSender } from '@vkontakte/calls-vmoji'; import BaseSignaling from '../../abstract/BaseSignaling'; import { ParticipantId } from '../../types/Participant'; import ServerSettings from '../../types/ServerSettings'; import { MediaSource } from '../MediaSource'; import BaseTransport from './BaseTransport'; export default class ServerTransport extends BaseTransport { private _producerNotification; private _producerCommand; private _producerScreen; private _consumerScreen; private _asr; private _animojiDataChannel; private _animojiReceiver; private _animojiSender; private _isOpen; private _observer; private _reconnectionPrevented; private _statInterval; private _settingsInterval; private _monitorRtpShareInterval; private _statBytes; private _ssrcMap; private _ssrcMapUpdated; private _perfStatReporter; private _producerOfferIsProcessing; private _producerNextOffer; private _producerNextSessionId; private _lastStat; private _serverSettings; private _prevConsumerSettings; private _prevConsumerFastSharingSettings; private _asrTrack; private _captureSender; private _captureReceiver; private _participantIdRegistry; private _disabledSenders; private _rtpReceiversByStreamId; private _producerSessionId; private _newAudioShareTrack; private _simulcastInfo; constructor(signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings); updateStatisticsInterval(): void; open(observer?: boolean): void; close(error?: Error): void; removeParticipant(participantId: ParticipantId): void; preventRestart(): void; allowRestart(): void; updateSettings(settings: ServerSettings): void; setAnimojiTransport(receiver: AnimojiReceiver, sender: AnimojiSender): void; onCameraResolutionChanged(): Promise; private _createPerfStatsReporter; private _closeConnection; private static _closeDataChannel; private _createDataChannel; private _openConnection; private _removeAsrTrack; private _reconnect; private _signalActiveParticipants; private _signalStalledParticipants; private _signalSpeakerChanged; private _signalNetworkStatus; private _updateSSRCMap; private _createCaptureSender; private _removeCaptureSender; private _createCaptureReceiver; private _removeCaptureReceiver; private _applyConsumerSettings; private _onScreenSharingStatus; private _setState; private _startStatInterval; private _stopStatInterval; private _startSettingsInterval; private _stopSettingsInterval; private _collectStat; private _reportStats; private _detectStaleTracks; private _allocateConsumer; private _processOffer; private _findFirstSimTransceiver; private _setupSimulcastTransceiver; private _acceptProducer; private _replaceScreenShareTrack; private _handleTracks; private _handleAudioShareTrack; private _handleScreenShareTrack; private _onSignalingNotification; private _onAsrTranscription; private _onProducerUpdated; private _onAddTrack; static _onSignalingStateChange(pc: RTCPeerConnection, event: any): void; private _onConnectionStateChange; private _onReplacedTrack; private _onSourcesChanged; getStreamWaitingTimeMs(streamId: string, targetRtpTimestamp: number): number; private _changeSimulcastInfo; private _monitorRtpShare; private _startMonitorRtpShareInterval; private _stopMonitorRtpShareInterval; }