import { Bubble } from "./Bubble"; import { WebConferenceParticipant } from "./webConferenceParticipant"; /** * @module * @name WebConferenceSession * @description * This class is used to represent a web conference session containing * all the relevant information to the current conference session */ export declare class WebConferenceSession { /** * @public * @name id * @description Conference Session ID. This is a global reference of the conference session * @type {string} * @readonly */ id: string; /** * @public * @name bubble * @description The Bubble object related to the conference * @type {Bubble} * @readonly */ bubble: Bubble; /** * @public * @name status * @description The current status of the conference. It could be "connecting", "connected", "reconnecting", "ended" * @type {string} * @readonly */ status: string; /** * @public * @name duration * @description The current duration of the conference (in seconds) * @type {number} * @readonly */ duration: number; /** * @public * @name localParticipant * @description Yourself in the conference * @type {WebConferenceParticipant} * @readonly */ localParticipant: WebConferenceParticipant; /** * @public * @name participants * @description The list of other participants currently connected in the conference * @type {WebConferenceParticipant[]} * @readonly */ participants: WebConferenceParticipant[]; /** * @public * @name hasLocalSharing * @description Boolean indicating whether the current user is currently sharing his screen * @type {boolean} * @readonly */ hasLocalSharing: boolean; /** * @public * @name localSharingSession * @description The local sharing session (as a JINGLE SESSION object) or null * @type {any} * @readonly */ localSharingSession: any; /** * @public * @name audioSession * @description The Audio session related to the web conference. (represented as a Jingle Session object) * @type {any} * @readonly */ audioSession: any; private sharingParticipant; private pinnedParticipant; type: string; haveJoined: boolean; isInExternalWindow: boolean; conferenceView: string; externalWindowRef: any; isOnlySharingWindow: boolean; control: any; conferenceLayoutSize: any; record: any; recordingStarted: boolean; currentRecordingState: string; isMyConference: boolean; dimLocalSharingScreen: boolean; localStreams: any; jingleJid: string; originalVideoStream: any; metricsId: string; metricsState: string; private durationTimer; private locked; static create(id: string, bubble: Bubble): WebConferenceSession; constructor(id: string, bubble: Bubble); /** * @public * @function getParticipants * @instance * @description * Get a list of all connected participants in the conference (except for yourself) * @returns {WebConferenceParticipant[]} Return an array of all WebConferenceParticipants taking part of the web conference */ getParticipants(): WebConferenceParticipant[]; /** * @public * @function getLocalParticipant * @instance * @description * Get yourself as a web conference participant * @returns {WebConferenceParticipant} Return the current user as a web conference participant connected to the conference */ getLocalParticipant(): WebConferenceParticipant; /** * @public * @function getBubble * @instance * @description * Get the bubble related to the web conference session * @returns {Bubble} Get the bubble related to the web conference session */ getBubble(): Bubble; /** * @public * @function getAudioSession * @instance * @description * Get the jingle audio session related to the conference session * @returns {any} The jingle audio session related to the conference session */ getAudioSession(): any; /** * @public * @function getSharingParticipant * @instance * @description * Get web conference participant object that is currently sharing in the conference (could not be myself) * @returns {WebConferenceParticipant} Web conference participant object that is currently sharing (could not be myself) */ getSharingParticipant(): WebConferenceParticipant; /** * @public * @function getLocalSharingSession * @instance * @description * Get the local sharing session (if any) * @returns {any} The local sharing session (or null) */ getLocalSharingSession(): any; /** * @public * @function getRemoteSharingSession * @instance * @description * Get the remote sharing session (if any) * @returns {any} The remote sharing session (or null) from the sharing participant object */ getRemoteSharingSession(): any; /** * @public * @function getParticipantById * @instance * @param {string} participantId the ID of the participant to find * @description * Find and return a participant by his Id * @returns {WebConferenceParticipant} The WebConferenceParticipant (if found) by his id */ getParticipantById(participantId: string): WebConferenceParticipant; /** * @public * @function isLock * @instance * @description * Check if the current web conference is locked. In case it's locked, no other user is allowed to join it * @returns {boolean} Return a boolean value indicating whether the web conference is currently locked */ isLocked(): boolean; /** * @public * @function getDelegateParticipantsList * @instance * @description * Get the list of participants to whom we can delegate the current conference. Delegation means that we give * the ownership of the conference to another user * @returns {Array} Return an array of WebConferenceParticipant to whom we can delegate the conference */ getDelegateParticipantsList(): WebConferenceParticipant[]; addOrUpdateParticipant(participant: WebConferenceParticipant): void; startDuration(): void; stopDuration(): void; getPinnedParticipant(): any; updatePinnedParticipant(participant?: WebConferenceParticipant, mediaType?: string): void; setLocked(lock?: boolean): void; setSharingParticipant(participant?: WebConferenceParticipant): void; private getParticipantByIdAndMediaType; }