import Message from './models/HMSMessage'; import { HMSLocalPeer } from './models/peer'; import { HMSPeerListIterator } from './HMSPeerListIterator'; import { HMSAnalyticsLevel } from '../analytics/AnalyticsEventLevel'; import { AudioOutputManager } from '../device-manager/AudioOutputManager'; import { HMSChangeMultiTrackStateParams, HMSConfig, HMSConnectionQualityListener, HMSFrameworkInfo, HMSPlaylistSettings, HMSPreviewConfig, HMSRole, HMSRoleChangeRequest, HMSScreenShareConfig, TokenRequest, TokenRequestOptions } from '../interfaces'; import { HLSConfig, HLSTimedMetadata } from '../interfaces/hls-config'; import { HMSInterface } from '../interfaces/hms'; import { HMSPeerListIteratorOptions } from '../interfaces/peer-list-iterator'; import { HMSPreviewListener } from '../interfaces/preview-listener'; import { RTMPRecordingConfig } from '../interfaces/rtmp-recording-config'; import { HMSAudioListener, HMSUpdateListener } from '../interfaces/update-listener'; import { HMSRemoteTrack, HMSTrackSource, HMSVideoTrack } from '../media/tracks'; import { PlaylistManager } from '../playlist-manager'; import { SessionStore } from '../session-store'; import { InteractivityCenter } from '../session-store/interactivity-center'; import { HMSLogLevel } from '../utils/logger'; export declare class HMSSdk implements HMSInterface { private transport; private readonly TAG; private listener?; private errorListener?; private deviceChangeListener?; private audioListener?; private store; private notificationManager?; private deviceManager; private audioSinkManager; private playlistManager; private audioOutput; private transportState; private roleChangeManager?; private localTrackManager; private analyticsEventsService; private analyticsTimer; private eventBus; private networkTestManager; private wakeLockManager; private sessionStore; private interactivityCenter; private sdkState; private frameworkInfo?; private playlistSettings; private initNotificationManager; private initStoreAndManagers; private validateJoined; private sendHLSAnalytics; refreshDevices(): Promise; getWebrtcInternals(): import("..").HMSWebrtcInternals | undefined; getSessionStore(): SessionStore; getPlaylistManager(): PlaylistManager; getRecordingState(): import("../interfaces").HMSRecording | undefined; getRTMPState(): import("../interfaces").HMSRTMP | undefined; getHLSState(): import("../interfaces").HMSHLS | undefined; getTemplateAppData(): Record | undefined; getInteractivityCenter(): InteractivityCenter; getPeerListIterator(options?: HMSPeerListIteratorOptions): HMSPeerListIterator; updatePlaylistSettings(options: HMSPlaylistSettings): void; private handleAutoplayError; private get localPeer(); private observer; private handlePeerLeaveRequest; preview(config: HMSPreviewConfig, listener: HMSPreviewListener): Promise; private midCallPreview; cancelMidCallPreview(): Promise; private handleDeviceChange; private handleAudioPluginError; join(config: HMSConfig, listener: HMSUpdateListener): Promise; private stringifyMetadata; private cleanup; leave(notifyServer?: boolean): Promise; private internalLeave; getAuthTokenByRoomCode(tokenRequest: TokenRequest, tokenRequestOptions?: TokenRequestOptions): Promise; getLocalPeer(): HMSLocalPeer | undefined; getPeers(): import("./models/peer").HMSPeer[]; getPeerMap(): Record; getAudioOutput(): AudioOutputManager; sendMessage(type: string, message: string): void; sendBroadcastMessage(message: string, type?: string): Promise; sendGroupMessage(message: string, roles: HMSRole[], type?: string): Promise; sendDirectMessage(message: string, peerId: string, type?: string): Promise; private sendMessageInternal; startScreenShare(onStop: () => void, config?: HMSScreenShareConfig): Promise; private stopEndedScreenshare; stopScreenShare(): Promise; addTrack(track: MediaStreamTrack, source?: HMSTrackSource): Promise; removeTrack(trackId: string, internal?: boolean): Promise; setAnalyticsLevel(level: HMSAnalyticsLevel): void; setLogLevel(level: HMSLogLevel): void; addAudioListener(audioListener: HMSAudioListener): void; addConnectionQualityListener(qualityListener: HMSConnectionQualityListener): void; changeRole(forPeerId: string, toRole: string, force?: boolean): Promise; changeRoleOfPeer(forPeerId: string, toRole: string, force?: boolean): Promise; changeRoleOfPeersWithRoles(roles: HMSRole[], toRole: string): Promise; acceptChangeRole(request: HMSRoleChangeRequest): Promise; endRoom(lock: boolean, reason: string): Promise; removePeer(peerId: string, reason: string): Promise; startRTMPOrRecording(params: RTMPRecordingConfig): Promise; stopRTMPAndRecording(): Promise; startHLSStreaming(params?: HLSConfig): Promise; stopHLSStreaming(params?: HLSConfig): Promise; sendHLSTimedMetadata(metadataList: HLSTimedMetadata[]): Promise; changeName(name: string): Promise; changeMetadata(metadata: string): Promise; setSessionMetadata(metadata: any): Promise; getSessionMetadata(): Promise; getRoles(): HMSRole[]; changeTrackState(forRemoteTrack: HMSRemoteTrack, enabled: boolean): Promise; changeMultiTrackState(params: HMSChangeMultiTrackStateParams): Promise; raiseLocalPeerHand(): Promise; lowerLocalPeerHand(): Promise; raiseRemotePeerHand(peerId: string): Promise; lowerRemotePeerHand(peerId: string): Promise; setFrameworkInfo(frameworkInfo: HMSFrameworkInfo): void; attachVideo(track: HMSVideoTrack, videoElement: HTMLVideoElement): Promise; detachVideo(track: HMSVideoTrack, videoElement: HTMLVideoElement): Promise; private publish; private getAndPublishTracks; private handleLocalRoleUpdate; private setAndPublishTracks; private setLocalPeerTrack; private initDeviceManagers; private cleanDeviceManagers; private initPreviewTrackAudioLevelMonitor; private notifyJoin; /** * Init store and other managers, setup listeners, create local peer, room * @param {HMSConfig} config * @param {HMSPreviewListener} listener */ private setUpPreview; /** * Set bitrate and dimensions for playlist track */ private setPlaylistSettings; /** * @param {HMSConfig} config * @param {string} role * @param {string} userId */ private createAndAddLocalPeerToStore; /** * init managers and set listeners - common for join and preview * @param {HMSConfig} config * @param {string} roomId * @param {HMSPreviewListener | HMSUpdateListener} listener */ private commonSetup; /** * Remove deviceId's passed in config for join if preview was already called * @param {HMSConfig} config */ private removeDevicesFromConfig; /** * Get screenshare based on policy and audioOnly flag * @param {function} onStop * @param config * @returns */ private getScreenshareTracks; private sendAudioPresenceFailed; private sendJoinAnalyticsEvent; private sendPreviewAnalyticsEvent; private sendAnalyticsEvent; private stopPlaylist; }