import { VaniEvent, MeetingStartRequest, MessagePayload, MeetingHandler } from ".."; import { Participant } from "../model/Participant"; import { Track, TrackKind } from "../model/Track"; import { WebSocketEvents, WebsocketHandler, WebSocketMessageBody } from "../websocket-handler/WebsocketHandler"; import { BaseVideoCallHandler } from "../video-call-handler/BaseVideoCallHandler"; import { VaniEventListener } from "../utility/VaniEventListener"; export declare class CommunicationHandler { isStartAndSetupWithServerCalled: boolean; eventEmitter: VaniEventListener; private allParticipants; private selfTracks; private allTracks; private allSelfTracksForRestartSFU; private meetingStartRequest?; private websocketCallHandler?; private videoCallHandler?; private meetingHandler?; private internetReachbilityTimeout?; private isReachable; private isServerVerifiedIfStartMeetingCalled; constructor(meetingHandler: MeetingHandler); setMeetingStartRequest(_meetingStartRequest: MeetingStartRequest): void; setWebsocketCallHandler(_websocketCallHandler: WebsocketHandler): void; setVideoCallHandler(_videoCallHandler: BaseVideoCallHandler): void; isReady(): boolean; emitMessageToSource(emitType: VaniEvent, payload: any): Promise; getEventEmitter(): VaniEventListener; onAudioVideoStatusUpdated(data: any): void; refetchTrackForParticipant: (participant: Participant) => Promise; restartTransport: () => Promise; updateSelfParticipantUserId(): void; getSelfParticipant(): Participant | undefined; downloadParticipantsData(): void; onServerParticipants(data: any): void; isWebScoketConnected(): boolean; getAllParticipants(): Participant[]; participantByUserId(userId: string): Participant | undefined; onStartParticipantMeetingCalled: (participantData: any) => Promise; addParticipantIfNotExist(participant: Participant, shouldInfrom?: boolean): Participant | undefined; removeParticipant(participant: Participant, shouldInfrom?: boolean): void; onUserLeft(data: any): void; private updateParticipantAudioVideoDataAccordingToTrack; getSelfTrackByType(trackKind: TrackKind): Track | undefined; getAllSelfTracks(): Track[]; getAllTracks(): Track[]; getTrackById(trackId: string): Track | undefined; getLocalTrackById(trackId: string): Track | undefined; getAllTracksForParticipant(participant: Participant): Track[]; removeTrack(track: Track, shouldInfromVideoController?: boolean): void; resumeProducerOrConsumerForTrack(track: Track): void; pauseProducerOrConsumerForTrack(track: Track): void; getConsumerForTrack(track: Track): void; addUpdateRemoteTrack(track: Track, participant: Participant, shouldInfromIfNotExist?: boolean): Track; addUpdateLocalTrack(track: Track): void; onOldMessages(data: any): void; requestToCloseTheRoom: () => Promise; onMessage(message: any, shouldInfromSource?: boolean): MessagePayload; sendWebSocketMessage(type: WebSocketEvents, data: any): void; onVideoCallWebSocketMessage(websocketMessage: WebSocketMessageBody): Promise; onReconnect(shouldInfromVideoCallHandler?: boolean): Promise; onStartMeeingCalled(isForceFully?: boolean): boolean; checkIfStartMeetingUpdatedOnServer: () => Promise; onAudioBlocked(data: any): void; onAudioUnblocked(data: any): void; onVideoBlocked(data: any): void; onVideoUnblocked(data: any): void; destoryRoomForcefully: () => void; onIceCandidateDisconnected(): void; checkIfInternetReachable: (count: number) => void; private onApiResponded; onPing: () => Promise; restartSFU: () => Promise; onSFUInitDone: () => Promise; private reloadSFUCleanUpDone; cleanup(): Promise; }