import { StreamSetupListener } from '../../dom/StreamSetupListener'; import ChannelContext from '../context/ChannelContext'; import PeerConnectionContext from '../context/PeerConnectionContext'; import StreamTransformContext from '../context/StreamTransformContext'; import FrameTimingInformationContext from '../context/FrameTimingInformationContext'; import { IStreamSubscriber } from './IStreamSubscriber'; export default class RealTimeStreamSubscriber implements IStreamSubscriber { private readonly _logger; private readonly _disposables; private readonly _channelContext; private readonly _peerConnectionContext; private readonly _streamTransformContext; private readonly _frameTimingInformationContext; private readonly _handleStreamFailure; constructor(channelContext: ChannelContext, peerConnectionContext: PeerConnectionContext, streamTransformContext: StreamTransformContext, frameTimingInformationContext: FrameTimingInformationContext, handleStreamFailure: () => Promise); start(uri: URL, token: string, listenOnStreamSetup: StreamSetupListener, playMediaStreamInVideoElement: Function): Promise; private applyRtcConfiguration; private reconnectPeerConnection; isStreamHealthy(): Promise; dispose(): void; private mapSetRemoteDescriptionStatusToChannelStatus; }