import ISubscribeConnectionObserver from './ISubscribeConnectionObserver'; import { InitFlags } from '../../signal/init/models'; import { ISignal } from '../../signal/ISignal'; import { PreferAudioLayerParams, PreferLayerResponse, PreferVideoLayerParams } from '../channel-messages'; import HMSConnection from '../HMSConnection'; export default class HMSSubscribeConnection extends HMSConnection { private isFlagEnabled; private readonly TAG; private readonly remoteStreams; private readonly observer; private readonly MAX_RETRIES; readonly nativeConnection: RTCPeerConnection; private pendingMessageQueue; private apiChannel?; private eventEmitter; private initNativeConnectionCallbacks; constructor(signal: ISignal, config: RTCConfiguration, isFlagEnabled: (flag: InitFlags) => boolean, observer: ISubscribeConnectionObserver); sendOverApiDataChannel(message: string): void; sendOverApiDataChannelWithResponse(message: T, requestId?: string): Promise; close(): Promise; private handlePendingApiMessages; private sendMessage; private waitForResponse; }