import { Track } from "../model/Track"; import { WebSocketMessageBody } from "../websocket-handler/WebsocketHandler"; import { Participant } from "../model/Participant"; import { Base } from "../base/Base"; import { TrackStats } from "../model/TrackStats"; export declare abstract class BaseVideoCallHandler extends Base { protected onObjectCreated(): void; init(isForceFully?: boolean): Promise; abstract onReconnect(): Promise; abstract onSocketMessage(websocketCallHandler: WebSocketMessageBody): void; abstract stopTrack(track: Track): void; abstract pauseTrack(track: Track): void; abstract resumeTrack(track: Track): void; abstract sendTrack(track: Track): void; abstract resumeIncomingTrack(track: Track): void; abstract pauseIncomingTrack(track: Track): void; abstract onParticipantUpdated(): void; abstract createDataChannel(): any; abstract sendMessageViaDataChannel(messagePayload: any): any; onAllParticipants(participants: Participant[]): Promise; onPing(): Promise; onParticipantStartMeetingCalled(participants: Participant): Promise; onUserJoined(participants: Participant): Promise; onUserLeft(participants: Participant): Promise; getConsumerForTrack(track: Track): void; resumeProducerOrConsumerForTrack(track: Track): Promise; pauseProducerOrConsumerForTrack(track: Track): Promise; reconnectedWithoutPing(): void; participantAudioVideoStatusUpdated(participant: Participant): void; updateSpatialForTrack(track: Track, spatialLayerIndex: number): Promise; cleanup(shouldStopTracks?: boolean): Promise; restartTransport(): void; getClientStats: () => Promise; }