UNPKG

mediasfu-angular

Version:

mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.

1,037 lines 157 kB
import { Injector, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core'; import { MediasfuUICustomOverrides } from '../../@types/ui-overrides.types'; import { UIOverrideResolverService } from '../../services/ui-override-resolver.service'; import { BehaviorSubject } from 'rxjs'; import { Socket } from 'socket.io-client'; import { MainAspectComponent } from '../display-components/main-aspect-component/main-aspect-component.component'; import { ControlButtonsComponentTouch } from '../display-components/control-buttons-component-touch/control-buttons-component-touch.component'; import { MainScreenComponent } from '../display-components/main-screen-component/main-screen-component.component'; import { MainGridComponent } from '../display-components/main-grid-component/main-grid-component.component'; import { MainContainerComponent } from '../display-components/main-container-component/main-container-component.component'; import { ModernAlertComponent } from '../../modern/display-components/modern-alert.component'; import { ModernLoadingModalComponent } from '../../modern/display-components/modern-loading-modal.component'; import { ModernConfirmExitModalComponent } from '../../modern/modal-components/modern-confirm-exit-modal.component'; import { ModernConfirmHereModalComponent } from '../../modern/modal-components/modern-confirm-here-modal.component'; import { ModernMessagesModalComponent } from '../../modern/modal-components/modern-messages-modal.component'; import { ModernParticipantsModalComponent } from '../../modern/modal-components/modern-participants-modal.component'; import { ModernRecordingModalComponent } from '../../modern/modal-components/modern-recording-modal.component'; import { ModernShareEventModalComponent } from '../../modern/modal-components/modern-share-event-modal.component'; import { ModernEventSettingsModalComponent } from '../../modern/modal-components/modern-event-settings-modal.component'; import { WelcomePageOptions } from '../misc-components/welcome-page/welcome-page.component'; import { FlexibleVideo } from '../display-components/flexible-video/flexible-video.component'; import { AudioGrid } from '../display-components/audio-grid/audio-grid.component'; import { MessageWidget } from '../display-components/control-widgets/message-widget.component'; import { MenuRecordWidget } from '../display-components/control-widgets/menu-record-widget.component'; import { RecordTimerWidget } from '../display-components/control-widgets/record-timer-widget.component'; import { MenuParticipantsWidget } from '../display-components/control-widgets/menu-participants-widget.component'; import { ButtonTouch, ResponseJoinRoom, CoHostResponsibility, EventType, Participant, ConsumeSocket, MeetingRoomParams, VidCons, HParamsType, VParamsType, ScreenParamsType, AParamsType, UserRecordingParams, Stream, AudioDecibels, ScreenState, GridSizes, CustomMediaComponent, Message, WaitingRoomParticipant, ComponentSizes, Transport as TransportType, Shape, Poll, BreakoutParticipant, WhiteboardUser, Request, MainButtonAlt, SeedData, PreJoinPageOptions, CreateMediaSFURoomOptions, JoinMediaSFURoomOptions, JoinRoomOnMediaSFUType, CreateRoomOnMediaSFUType } from '../../@types/types'; import { LaunchRecording } from '../../methods/recording-methods/launch-recording.service'; import { StartRecording } from '../../methods/recording-methods/start-recording.service'; import { ConfirmRecording } from '../../methods/recording-methods/confirm-recording.service'; import { LaunchParticipants } from '../../methods/participants-methods/launch-participants.service'; import { LaunchMessages } from '../../methods/message-methods/launch-messages.service'; import { LaunchConfirmExit } from '../../methods/exit-methods/launch-confirm-exit.service'; import { SocketManager } from '../../sockets/socket-manager.service'; import { JoinRoomClient } from '../../producer-client/producer-client-emits/join-room-client.service'; import { JoinLocalRoom } from '../../producers/producer-emits/join-local-room.service'; import { UpdateRoomParametersClient } from '../../producer-client/producer-client-emits/update-room-parameters-client.service'; import { CreateDeviceClient } from '../../producer-client/producer-client-emits/create-device-client.service'; import { SwitchVideoAlt } from '../../methods/stream-methods/switch-video-alt.service'; import { ClickVideo } from '../../methods/stream-methods/click-video.service'; import { ClickAudio } from '../../methods/stream-methods/click-audio.service'; import { ClickScreenShare } from '../../methods/stream-methods/click-screen-share.service'; import { StreamSuccessVideo } from '../../consumers/stream-success-video.service'; import { StreamSuccessAudio } from '../../consumers/stream-success-audio.service'; import { StreamSuccessScreen } from '../../consumers/stream-success-screen.service'; import { StreamSuccessAudioSwitch } from '../../consumers/stream-success-audio-switch.service'; import { CheckPermission } from '../../consumers/check-permission.service'; import { UpdateMiniCardsGrid } from '../../consumers/update-mini-cards-grid.service'; import { MixStreams } from '../../consumers/mix-streams.service'; import { DispStreams } from '../../consumers/disp-streams.service'; import { StopShareScreen } from '../../consumers/stop-share-screen.service'; import { CheckScreenShare } from '../../consumers/check-screen-share.service'; import { StartShareScreen } from '../../consumers/start-share-screen.service'; import { RequestScreenShare } from '../../consumers/request-screen-share.service'; import { ReorderStreams } from '../../consumers/reorder-streams.service'; import { PrepopulateUserMedia } from '../../consumers/prepopulate-user-media.service'; import { GetVideos } from '../../consumers/get-videos.service'; import { RePort } from '../../consumers/re-port.service'; import { Trigger } from '../../consumers/trigger.service'; import { ConsumerResume } from '../../consumers/consumer-resume.service'; import { ConnectSendTransportAudio } from '../../consumers/connect-send-transport-audio.service'; import { ConnectSendTransportVideo } from '../../consumers/connect-send-transport-video.service'; import { ConnectSendTransportScreen } from '../../consumers/connect-send-transport-screen.service'; import { ProcessConsumerTransports } from '../../consumers/process-consumer-transports.service'; import { ResumePauseStreams } from '../../consumers/resume-pause-streams.service'; import { Readjust } from '../../consumers/readjust.service'; import { CheckGrid } from '../../consumers/check-grid.service'; import { GetEstimate } from '../../consumers/get-estimate.service'; import { CalculateRowsAndColumns } from '../../consumers/calculate-rows-and-columns.service'; import { AddVideosGrid } from '../../consumers/add-videos-grid.service'; import { OnScreenChanges } from '../../consumers/on-screen-changes.service'; import { ChangeVids } from '../../consumers/change-vids.service'; import { CompareActiveNames } from '../../consumers/compare-active-names.service'; import { CompareScreenStates } from '../../consumers/compare-screen-states.service'; import { CreateSendTransport } from '../../consumers/create-send-transport.service'; import { ResumeSendTransportAudio } from '../../consumers/resume-send-transport-audio.service'; import { ReceiveAllPipedTransports } from '../../consumers/receive-all-piped-transports.service'; import { DisconnectSendTransportVideo } from '../../consumers/disconnect-send-transport-video.service'; import { DisconnectSendTransportAudio } from '../../consumers/disconnect-send-transport-audio.service'; import { DisconnectSendTransportScreen } from '../../consumers/disconnect-send-transport-screen.service'; import { ConnectSendTransport } from '../../consumers/connect-send-transport.service'; import { GetPipedProducersAlt } from '../../consumers/get-piped-producers-alt.service'; import { SignalNewConsumerTransport } from '../../consumers/signal-new-consumer-transport.service'; import { ConnectRecvTransport } from '../../consumers/connect-recv-transport.service'; import { ReUpdateInter } from '../../consumers/re-update-inter.service'; import { UpdateParticipantAudioDecibels } from '../../consumers/update-participant-audio-decibels.service'; import { CloseAndResize } from '../../consumers/close-and-resize.service'; import { AutoAdjust } from '../../consumers/auto-adjust.service'; import { SwitchUserVideoAlt } from '../../consumers/switch-user-video-alt.service'; import { SwitchUserVideo } from '../../consumers/switch-user-video.service'; import { SwitchUserAudio } from '../../consumers/switch-user-audio.service'; import { ReceiveRoomMessages } from '../../consumers/receive-room-messages.service'; import { FormatNumber } from '../../methods/utils/format-number.service'; import { ConnectIps } from '../../consumers/connect-ips.service'; import { ConnectLocalIps } from '../../consumers/connect-local-ips.service'; import { StartMeetingProgressTimer } from '../../methods/utils/meeting-timer/start-meeting-progress-timer.service'; import { UpdateRecording } from '../../methods/recording-methods/update-recording.service'; import { StopRecording } from '../../methods/recording-methods/stop-recording.service'; import { PersonJoined } from '../../producers/socket-receive-methods/person-joined.service'; import { RoomRecordParams } from '../../producers/socket-receive-methods/room-record-params.service'; import { BanParticipant } from '../../producers/socket-receive-methods/ban-participant.service'; import { ProducerMediaPaused } from '../../producers/socket-receive-methods/producer-media-paused.service'; import { ProducerMediaResumed } from '../../producers/socket-receive-methods/producer-media-resumed.service'; import { ProducerMediaClosed } from '../../producers/socket-receive-methods/producer-media-closed.service'; import { MeetingEnded } from '../../producers/socket-receive-methods/meeting-ended.service'; import { DisconnectUserSelf } from '../../producers/socket-receive-methods/disconnect-user-self.service'; import { ReceiveMessage } from '../../producers/socket-receive-methods/receive-message.service'; import { MeetingTimeRemaining } from '../../producers/socket-receive-methods/meeting-time-remaining.service'; import { MeetingStillThere } from '../../producers/socket-receive-methods/meeting-still-there.service'; import { StartRecords } from '../../producers/socket-receive-methods/start-records.service'; import { ReInitiateRecording } from '../../producers/socket-receive-methods/re-initiate-recording.service'; import { GetDomains } from '../../producers/socket-receive-methods/get-domains.service'; import { UpdateConsumingDomains } from '../../producers/socket-receive-methods/update-consuming-domains.service'; import { RecordingNotice } from '../../producers/socket-receive-methods/recording-notice.service'; import { TimeLeftRecording } from '../../producers/socket-receive-methods/time-left-recording.service'; import { StoppedRecording } from '../../producers/socket-receive-methods/stopped-recording.service'; import { AllMembers } from '../../producers/socket-receive-methods/all-members.service'; import { AllMembersRest } from '../../producers/socket-receive-methods/all-members-rest.service'; import { Disconnect } from '../../producers/socket-receive-methods/disconnect.service'; import { CaptureCanvasStream } from '../../methods/whiteboard-methods/capture-canvas-stream.service'; import { ResumePauseAudioStreams } from '../../consumers/resume-pause-audio-streams.service'; import { ProcessConsumerTransportsAudio } from '../../consumers/process-consumer-transports-audio.service'; import { types } from 'mediasoup-client'; import type { SelfieSegmentation } from '@mediapipe/selfie_segmentation'; import * as i0 from "@angular/core"; type Device = types.Device; type Producer = types.Producer; type ProducerOptions = types.ProducerOptions; type RtpCapabilities = types.RtpCapabilities; type Transport = types.Transport; export type MediasfuBroadcastOptions = { PrejoinPage?: (options: PreJoinPageOptions | WelcomePageOptions) => HTMLElement; localLink?: string; connectMediaSFU?: boolean; credentials?: { apiUserName: string; apiKey: string; }; useLocalUIMode?: boolean; seedData?: SeedData; useSeed?: boolean; imgSrc?: string; sourceParameters?: { [key: string]: any; }; updateSourceParameters?: (data: { [key: string]: any; }) => void; returnUI?: boolean; noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions; joinMediaSFURoom?: JoinRoomOnMediaSFUType; createMediaSFURoom?: CreateRoomOnMediaSFUType; }; /** * MediasfuBroadcast component provides a streaming broadcast interface with various UI components and settings. * It handles conditional rendering of a prejoin page or main broadcast content, along with integrated modals and controls. * * @component * @selector app-mediasfu-broadcast * @standalone true * @imports [RouterOutlet, CommonModule, AlertComponent, AudioGrid, ControlButtonsComponentTouch, FlexibleVideo, LoadingModal, ConfirmExitModal, MessagesModal, ConfirmHereModal, ShareEventModal, WelcomePage, ParticipantsModal, RecordingModal, MainAspectComponent, MainContainerComponent, MainGridComponent, MainScreenComponent, MessageWidget, MenuRecordWidget, RecordTimerWidget, MenuParticipantsWidget] * * @template * The component's template contains: * - Conditional rendering of the PrejoinPage component if the user is not validated. * - The main broadcast content, including video, controls, and optional modals. * - The `app-main-container-component` manages the main display. * - Controls for video and audio grid display and interactive modals (Participants, Messages, Recording, etc.) * * @input {any} PrejoinPage - Component for the prejoin page, defaults to `WelcomePage`. * @input {MediasfuBroadcastOptions} options - Configuration options for the component. * @input {boolean} connectMediaSFU - Flag to enable/disable connection to the MediaSFU server. * @input {string} localLink - Local link for the Community Edition server. * @input {{ apiUserName: string; apiKey: string }} credentials - API credentials for secure access. * @input {boolean} useLocalUIMode - Flag to toggle local UI settings. * @input {SeedData} seedData - Seed data for initializing the component with specific configurations. * @input {boolean} useSeed - Enable/disable use of seed data. * @input {string} imgSrc - URL for branding images or logos. * @input {object} sourceParameters - Additional parameters for the source. * @input {Function} updateSourceParameters - Function to update the source parameters. * @input {boolean} returnUI - Flag to return the UI elements. * @input {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} noUIPreJoinOptions - Options for the prejoin page without UI. * @input {JoinRoomOnMediaSFUType} joinMediaSFURoom - Function to join a room on MediaSFU. * @input {CreateRoomOnMediaSFUType} createMediaSFURoom - Function to create a room on MediaSFU. * @input {any} customVideoCard - Custom component to replace the default VideoCard component. * @input {any} customAudioCard - Custom component to replace the default AudioCard component. * @input {any} customMiniCard - Custom component to replace the default MiniCard component. * @input {any} customMainComponent - Custom component that provides complete control over the main UI, bypassing default MediaSFU styling. * * @property {string} title - The title of the component, defaults to "MediaSFU-Broadcast". * * @styles * Custom styles specific to MediaSFU layout and interactions. * * @constructor * @class MediasfuBroadcast * @implements OnInit, OnDestroy * * @method ngOnInit - Initializes the component, sets up necessary configurations, and event listeners. * @method ngOnDestroy - Cleanup on component destruction, including removal of event listeners and active intervals. * * @example * ```html * <app-mediasfu-broadcast * [PrejoinPage]="CustomPrejoinComponent" * [localLink]="'https://localhost:3000'" * [connectMediaSFU]="true" * [credentials]="{ apiUserName: 'username', apiKey: 'apikey' }" * [useLocalUIMode]="true" * [seedData]="seedDataObject" * [useSeed]="true" * [imgSrc]="'https://example.com/logo.png'" * [sourceParameters]="{ source: 'camera', width: 640, height: 480 }" * [updateSourceParameters]="updateSourceParameters" * [returnUI]="true" * [noUIPreJoinOptions]="{ roomName: 'room1', userName: 'user1' }" * [joinMediaSFURoom]="joinMediaSFURoom" * [createMediaSFURoom]="createMediaSFURoom" * [customVideoCard]="CustomVideoCardComponent" * [customAudioCard]="CustomAudioCardComponent" * [customMiniCard]="CustomMiniCardComponent" * [customMainComponent]="CustomMainComponent"> * </app-mediasfu-broadcast> * ``` */ export declare class MediasfuBroadcast implements OnInit, OnDestroy { private cdr; private injector; updateMiniCardsGrid: UpdateMiniCardsGrid; mixStreams: MixStreams; dispStreams: DispStreams; stopShareScreen: StopShareScreen; checkScreenShare: CheckScreenShare; startShareScreen: StartShareScreen; requestScreenShare: RequestScreenShare; reorderStreams: ReorderStreams; prepopulateUserMedia: PrepopulateUserMedia; getVideos: GetVideos; rePort: RePort; trigger: Trigger; consumerResume: ConsumerResume; connectSendTransport: ConnectSendTransport; connectSendTransportAudio: ConnectSendTransportAudio; connectSendTransportVideo: ConnectSendTransportVideo; connectSendTransportScreen: ConnectSendTransportScreen; processConsumerTransports: ProcessConsumerTransports; resumePauseStreams: ResumePauseStreams; readjust: Readjust; checkGrid: CheckGrid; getEstimate: GetEstimate; calculateRowsAndColumns: CalculateRowsAndColumns; addVideosGrid: AddVideosGrid; onScreenChanges: OnScreenChanges; changeVids: ChangeVids; compareActiveNames: CompareActiveNames; compareScreenStates: CompareScreenStates; createSendTransport: CreateSendTransport; resumeSendTransportAudio: ResumeSendTransportAudio; receiveAllPipedTransports: ReceiveAllPipedTransports; disconnectSendTransportVideo: DisconnectSendTransportVideo; disconnectSendTransportAudio: DisconnectSendTransportAudio; disconnectSendTransportScreen: DisconnectSendTransportScreen; getPipedProducersAlt: GetPipedProducersAlt; signalNewConsumerTransport: SignalNewConsumerTransport; connectRecvTransport: ConnectRecvTransport; reUpdateInter: ReUpdateInter; updateParticipantAudioDecibels: UpdateParticipantAudioDecibels; closeAndResize: CloseAndResize; autoAdjust: AutoAdjust; switchUserVideoAlt: SwitchUserVideoAlt; switchUserVideo: SwitchUserVideo; switchUserAudio: SwitchUserAudio; getDomains: GetDomains; formatNumber: FormatNumber; connectIps: ConnectIps; connectLocalIps: ConnectLocalIps; createDeviceClient: CreateDeviceClient; captureCanvasStream: CaptureCanvasStream; resumePauseAudioStreams: ResumePauseAudioStreams; processConsumerTransportsAudio: ProcessConsumerTransportsAudio; launchRecording: LaunchRecording; startRecording: StartRecording; confirmRecording: ConfirmRecording; launchParticipants: LaunchParticipants; launchMessages: LaunchMessages; launchConfirmExit: LaunchConfirmExit; startMeetingProgressTimer: StartMeetingProgressTimer; updateRecording: UpdateRecording; stopRecording: StopRecording; personJoined: PersonJoined; roomRecordParams: RoomRecordParams; banParticipant: BanParticipant; producerMediaPaused: ProducerMediaPaused; producerMediaResumed: ProducerMediaResumed; producerMediaClosed: ProducerMediaClosed; meetingEnded: MeetingEnded; disconnectUserSelf: DisconnectUserSelf; receiveMessage: ReceiveMessage; meetingTimeRemaining: MeetingTimeRemaining; meetingStillThere: MeetingStillThere; startRecords: StartRecords; reInitiateRecording: ReInitiateRecording; recordingNotice: RecordingNotice; timeLeftRecording: TimeLeftRecording; stoppedRecording: StoppedRecording; allMembers: AllMembers; allMembersRest: AllMembersRest; disconnect: Disconnect; socketManager: SocketManager; joinRoomClient: JoinRoomClient; joinLocalRoom: JoinLocalRoom; updateRoomParametersClient: UpdateRoomParametersClient; clickVideo: ClickVideo; clickAudio: ClickAudio; clickScreenShare: ClickScreenShare; switchVideoAlt: SwitchVideoAlt; streamSuccessVideo: StreamSuccessVideo; streamSuccessAudio: StreamSuccessAudio; streamSuccessScreen: StreamSuccessScreen; streamSuccessAudioSwitch: StreamSuccessAudioSwitch; checkPermission: CheckPermission; updateConsumingDomains: UpdateConsumingDomains; receiveRoomMessages: ReceiveRoomMessages; private uiOverrideResolver; PrejoinPage: any; localLink: string; connectMediaSFU: boolean; credentials: { apiUserName: string; apiKey: string; }; useLocalUIMode: boolean; seedData?: SeedData; useSeed: boolean; imgSrc: string; sourceParameters: { [key: string]: any; }; updateSourceParameters?: (data: { [key: string]: any; }) => void; returnUI?: boolean; noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions; joinMediaSFURoom?: JoinRoomOnMediaSFUType; createMediaSFURoom?: CreateRoomOnMediaSFUType; customVideoCard: any; customAudioCard: any; customMiniCard: any; customMainComponent: any; containerStyle?: Record<string, any>; uiOverrides?: MediasfuUICustomOverrides; title: string; protected readonly MainContainerComponentRef: typeof MainContainerComponent; protected readonly MainAspectComponentRef: typeof MainAspectComponent; protected readonly MainScreenComponentRef: typeof MainScreenComponent; protected readonly MainGridComponentRef: typeof MainGridComponent; protected readonly FlexibleVideoComponentRef: typeof FlexibleVideo; protected readonly AudioGridComponentRef: typeof AudioGrid; protected readonly ControlButtonsTouchComponentRef: typeof ControlButtonsComponentTouch; protected readonly AlertComponentRef: typeof ModernAlertComponent; protected readonly LoadingModalComponentRef: typeof ModernLoadingModalComponent; protected readonly ParticipantsModalComponentRef: typeof ModernParticipantsModalComponent; protected readonly RecordingModalComponentRef: typeof ModernRecordingModalComponent; protected readonly ConfirmExitModalComponentRef: typeof ModernConfirmExitModalComponent; protected readonly ConfirmHereModalComponentRef: typeof ModernConfirmHereModalComponent; protected readonly ShareEventModalComponentRef: typeof ModernShareEventModalComponent; protected readonly EventSettingsModalComponentRef: typeof ModernEventSettingsModalComponent; protected readonly MessagesModalComponentRef: typeof ModernMessagesModalComponent; mainContainerOverrideProps: () => { containerStyle: Record<string, any>; parameters: any; }; mainAspectOverrideProps: () => { backgroundColor: string; defaultFraction: number; showControls: boolean; updateIsWideScreen: (value: boolean) => void; updateIsMediumScreen: (value: boolean) => void; updateIsSmallScreen: (value: boolean) => void; parameters: any; }; mainScreenOverrideProps: () => { doStack: boolean; mainSize: number; defaultFraction: number; showControls: boolean; updateComponentSizes: (sizes: ComponentSizes) => void; parameters: any; }; mainGridOverrideProps: () => { height: number; width: number; backgroundColor: string; mainSize: number; showAspect: boolean; timeBackgroundColor: string; meetingProgressTime: string; parameters: any; }; flexibleVideoOverrideProps: () => { customWidth: number; customHeight: number; rows: number; columns: number; componentsToRender: CustomMediaComponent[]; showAspect: boolean; parameters: any; customVideoCard: any; customAudioCard: any; customMiniCard: any; }; controlButtonsTouchBroadcastOverrideProps: () => { buttons: ButtonTouch[]; position: string; location: string; direction: string; showAspect: boolean; parameters: any; }; controlButtonsTouchRecordOverrideProps: () => { buttons: { icon: import("@fortawesome/fontawesome-common-types").IconDefinition; text: string; onPress: () => void; activeColor: () => string; inActiveColor: () => string; show: boolean; }[]; direction: string; showAspect: boolean; location: string; position: string; parameters: any; }; controlButtonsTouchRecordAltOverrideProps: () => { buttons: MainButtonAlt[]; direction: string; showAspect: boolean; location: string; position: string; parameters: any; }; audioGridOverrideProps: () => { componentsToRender: CustomMediaComponent[]; parameters: any; }; alertOverrideProps: () => { visible: boolean; message: string; type: "danger" | "success" | "info" | "warning"; position: "center" | "bottom" | "top" | "top-right" | "top-left" | "bottom-right" | "bottom-left"; duration: number; onHide: () => void; isDarkMode: boolean; parameters: any; }; loadingModalOverrideProps: () => { isVisible: boolean; isDarkMode: boolean; parameters: any; }; participantsModalOverrideProps: () => { backgroundColor: string; isParticipantsModalVisible: boolean; onParticipantsClose: () => void; participantsCounter: number; onParticipantsFilterChange: (value: string) => void; parameters: { localUIMode: boolean; roomName: string; member: string; adminPasscode: string; youAreCoHost: boolean; youAreHost: boolean; islevel: string; confirmedToRecord: boolean; meetingDisplayType: string; meetingVideoOptimized: boolean; eventType: EventType; participants: Participant[]; filteredParticipants: Participant[]; participantsCounter: number; participantsFilter: string; consume_sockets: ConsumeSocket[]; rtpCapabilities: types.RtpCapabilities; roomRecvIPs: string[]; meetingRoomParams: MeetingRoomParams; itemPageLimit: number; audioOnlyRoom: boolean; addForBasic: boolean; screenPageLimit: number; shareScreenStarted: boolean; shared: boolean; targetOrientation: string; targetResolution: string; targetResolutionHost: string; vidCons: VidCons; frameRate: number; hParams: import("mediasfu-shared").HParamsType; vParams: import("mediasfu-shared").VParamsType; screenParams: import("mediasfu-shared").ScreenParamsType; aParams: import("mediasfu-shared").AParamsType; recordingAudioPausesLimit: number; recordingAudioPausesCount: number; recordingAudioSupport: boolean; recordingAudioPeopleLimit: number; recordingAudioParticipantsTimeLimit: number; recordingVideoPausesCount: number; recordingVideoPausesLimit: number; recordingVideoSupport: boolean; recordingVideoPeopleLimit: number; recordingVideoParticipantsTimeLimit: number; recordingAllParticipantsSupport: boolean; recordingVideoParticipantsSupport: boolean; recordingAllParticipantsFullRoomSupport: boolean; recordingVideoParticipantsFullRoomSupport: boolean; recordingPreferredOrientation: string; recordingSupportForOtherOrientation: boolean; recordingMultiFormatsSupport: boolean; userRecordingParams: UserRecordingParams; canRecord: boolean; startReport: boolean; endReport: boolean; recordStartTime: number; recordElapsedTime: number; isTimerRunning: boolean; canPauseResume: boolean; recordChangeSeconds: number; pauseLimit: number; pauseRecordCount: number; canLaunchRecord: boolean; stopLaunchRecord: boolean; participantsAll: Participant[]; firstAll: boolean; updateMainWindow: boolean; first_round: boolean; landScaped: boolean; lock_screen: boolean; screenId: string; allVideoStreams: (Stream | Participant)[]; newLimitedStreams: (Stream | Participant)[]; newLimitedStreamsIDs: string[]; activeSounds: string[]; screenShareIDStream: string; screenShareNameStream: string; adminIDStream: string; adminNameStream: string; youYouStream: (Stream | Participant)[]; youYouStreamIDs: string[]; localStream: MediaStream; recordStarted: boolean; recordResumed: boolean; recordPaused: boolean; recordStopped: boolean; adminRestrictSetting: boolean; videoRequestState: string; videoRequestTime: number; videoAction: boolean; localStreamVideo: MediaStream; userDefaultVideoInputDevice: string; currentFacingMode: string; prevFacingMode: string; defVideoID: string; allowed: boolean; dispActiveNames: string[]; p_dispActiveNames: string[]; activeNames: string[]; prevActiveNames: string[]; p_activeNames: string[]; membersReceived: boolean; deferScreenReceived: boolean; hostFirstSwitch: boolean; micAction: boolean; screenAction: boolean; chatAction: boolean; audioRequestState: string; screenRequestState: string; chatRequestState: string; audioRequestTime: number; screenRequestTime: number; chatRequestTime: number; updateRequestIntervalSeconds: number; oldSoundIds: string[]; hostLabel: string; mainScreenFilled: boolean; localStreamScreen: MediaStream; screenAlreadyOn: boolean; chatAlreadyOn: boolean; redirectURL: string; oldAllStreams: (Stream | Participant)[]; adminVidID: string; streamNames: Stream[]; non_alVideoStreams: Participant[]; sortAudioLoudness: boolean; audioDecibels: AudioDecibels[]; mixed_alVideoStreams: (Stream | Participant)[]; non_alVideoStreams_muted: Participant[]; paginatedStreams: (Stream | Participant)[][]; localStreamAudio: MediaStream; defAudioID: string; userDefaultAudioInputDevice: string; userDefaultAudioOutputDevice: string; prevAudioInputDevice: string; prevVideoInputDevice: string; audioPaused: boolean; mainScreenPerson: string; adminOnMainScreen: boolean; screenStates: ScreenState[]; prevScreenStates: ScreenState[]; updateDateState: number; lastUpdate: number; nForReadjustRecord: number; fixedPageLimit: number; removeAltGrid: boolean; nForReadjust: number; lastReorderTime: number; reorderInterval: number; fastReorderInterval: number; audStreamNames: Stream[]; currentUserPage: number; mainHeightWidth: number; prevMainHeightWidth: number; prevDoPaginate: boolean; doPaginate: boolean; shareEnded: boolean; lStreams: (Stream | Participant)[]; chatRefStreams: (Stream | Participant)[]; controlHeight: number; isWideScreen: boolean; isMediumScreen: boolean; isSmallScreen: boolean; addGrid: boolean; addAltGrid: boolean; gridRows: number; gridCols: number; altGridRows: number; altGridCols: number; numberPages: number; currentStreams: (Stream | Participant)[]; showMiniView: boolean; nStream: MediaStream; defer_receive: boolean; allAudioStreams: (Stream | Participant)[]; screenProducer: Producer; remoteScreenStream: Stream[]; gotAllVids: boolean; paginationHeightWidth: number; paginationDirection: "horizontal" | "vertical"; gridSizes: GridSizes; screenForceFullDisplay: boolean; mainGridStream: CustomMediaComponent[]; otherGridStreams: CustomMediaComponent[][]; audioOnlyStreams: CustomMediaComponent[]; videoInputs: MediaDeviceInfo[]; audioInputs: MediaDeviceInfo[]; meetingProgressTime: string; meetingElapsedTime: number; ref_participants: Participant[]; messages: Message[]; startDirectMessage: boolean; directMessageDetails: Participant; coHost: string; coHostResponsibility: CoHostResponsibility[]; audioSetting: string; videoSetting: string; screenshareSetting: string; chatSetting: string; autoWave: boolean; forceFullDisplay: boolean; prevForceFullDisplay: boolean; prevMeetingDisplayType: string; waitingRoomFilter: string; waitingRoomList: WaitingRoomParticipant[]; waitingRoomCounter: number; filteredWaitingRoomList: WaitingRoomParticipant[]; requestFilter: string; requestList: Request[]; requestCounter: number; filteredRequestList: Request[]; totalReqWait: number; alertVisible: boolean; alertMessage: string; alertType: "danger" | "success" | "info" | "warning"; alertPosition: "center" | "bottom" | "top" | "top-right" | "top-left" | "bottom-right" | "bottom-left"; alertDuration: number; progressTimerVisible: boolean; progressTimerValue: number; isMenuModalVisible: boolean; isRecordingModalVisible: boolean; isSettingsModalVisible: boolean; isRequestsModalVisible: boolean; isWaitingModalVisible: boolean; isCoHostModalVisible: boolean; isMediaSettingsModalVisible: boolean; isDisplaySettingsModalVisible: boolean; isParticipantsModalVisible: boolean; isMessagesModalVisible: boolean; isConfirmExitModalVisible: boolean; isConfirmHereModalVisible: boolean; isLoadingModalVisible: boolean; recordingMediaOptions: string; recordingAudioOptions: string; recordingVideoOptions: string; recordingVideoType: string; recordingVideoOptimized: boolean; recordingDisplayType: "video" | "media" | "all"; recordingAddHLS: boolean; recordingAddText: boolean; recordingCustomText: string; recordingCustomTextPosition: string; recordingCustomTextColor: string; recordingNameTags: boolean; recordingBackgroundColor: string; recordingNameTagsColor: string; recordingOrientationVideo: string; clearedToResume: boolean; clearedToRecord: boolean; recordState: string; showRecordButtons: boolean; recordingProgressTime: string; audioSwitching: boolean; videoSwitching: boolean; videoAlreadyOn: boolean; audioAlreadyOn: boolean; componentSizes: ComponentSizes; hasCameraPermission: boolean; hasAudioPermission: boolean; transportCreated: boolean; localTransportCreated: boolean; transportCreatedVideo: boolean; transportCreatedAudio: boolean; transportCreatedScreen: boolean; producerTransport: Transport; localProducerTransport: Transport; videoProducer: Producer; localVideoProducer: Producer; params: ProducerOptions; videoParams: ProducerOptions; audioParams: ProducerOptions; audioProducer: Producer; audioLevel: number; localAudioProducer: Producer; consumerTransports: TransportType[]; consumingTransports: string[]; polls: Poll[]; poll: Poll; isPollModalVisible: boolean; customImage: string; selectedImage: string; segmentVideo: MediaStream; selfieSegmentation: SelfieSegmentation; pauseSegmentation: boolean; processedStream: MediaStream; keepBackground: boolean; backgroundHasChanged: boolean; virtualStream: MediaStream; mainCanvas: HTMLCanvasElement; prevKeepBackground: boolean; appliedBackground: boolean; isBackgroundModalVisible: boolean; autoClickBackground: boolean; breakoutRooms: BreakoutParticipant[][]; currentRoomIndex: number; canStartBreakout: boolean; breakOutRoomStarted: boolean; breakOutRoomEnded: boolean; hostNewRoom: number; limitedBreakRoom: BreakoutParticipant[]; mainRoomsLength: number; memberRoom: number; isBreakoutRoomsModalVisible: boolean; whiteboardUsers: WhiteboardUser[]; currentWhiteboardIndex: number; canStartWhiteboard: boolean; whiteboardStarted: boolean; whiteboardEnded: boolean; whiteboardLimit: number; isWhiteboardModalVisible: boolean; isConfigureWhiteboardModalVisible: boolean; shapes: Shape[]; useImageBackground: boolean; redoStack: Shape[]; undoStack: string[]; canvasStream: MediaStream; canvasWhiteboard: HTMLCanvasElement; canvasScreenboard: HTMLCanvasElement; processedScreenStream: MediaStream; annotateScreenStream: boolean; mainScreenCanvas: HTMLCanvasElement; isScreenboardModalVisible: boolean; validated: boolean; device: types.Device; socket: Socket<import("@socket.io/component-emitter").DefaultEventsMap, import("@socket.io/component-emitter").DefaultEventsMap>; localSocket: Socket<import("@socket.io/component-emitter").DefaultEventsMap, import("@socket.io/component-emitter").DefaultEventsMap>; checkMediaPermission: boolean; onWeb: boolean; updateRoomName: any; updateMember: any; updateAdminPasscode: any; updateYouAreCoHost: any; updateYouAreHost: any; updateIslevel: any; updateCoHost: any; updateCoHostResponsibility: any; updateConfirmedToRecord: any; updateMeetingDisplayType: any; updateMeetingVideoOptimized: any; updateEventType: any; updateParticipants: any; updateParticipantsCounter: any; updateParticipantsFilter: any; updateConsume_sockets: any; updateRtpCapabilities: any; updateRoomRecvIPs: any; updateMeetingRoomParams: any; updateItemPageLimit: any; updateAudioOnlyRoom: any; updateAddForBasic: any; updateScreenPageLimit: any; updateShareScreenStarted: any; updateShared: any; updateTargetOrientation: any; updateTargetResolution: any; updateTargetResolutionHost: any; updateVidCons: any; updateFrameRate: any; updateHParams: any; updateVParams: any; updateScreenParams: any; updateAParams: any; updateRecordingAudioPausesLimit: any; updateRecordingAudioPausesCount: any; updateRecordingAudioSupport: any; updateRecordingAudioPeopleLimit: any; updateRecordingAudioParticipantsTimeLimit: any; updateRecordingVideoPausesCount: any; updateRecordingVideoPausesLimit: any; updateRecordingVideoSupport: any; updateRecordingVideoPeopleLimit: any; updateRecordingVideoParticipantsTimeLimit: any; updateRecordingAllParticipantsSupport: any; updateRecordingVideoParticipantsSupport: any; updateRecordingAllParticipantsFullRoomSupport: any; updateRecordingVideoParticipantsFullRoomSupport: any; updateRecordingPreferredOrientation: any; updateRecordingSupportForOtherOrientation: any; updateRecordingMultiFormatsSupport: any; updateUserRecordingParams: any; updateCanRecord: any; updateStartReport: any; updateEndReport: any; updateRecordTimerInterval: any; updateRecordStartTime: any; updateRecordElapsedTime: any; updateIsTimerRunning: any; updateCanPauseResume: any; updateRecordChangeSeconds: any; updatePauseLimit: any; updatePauseRecordCount: any; updateCanLaunchRecord: any; updateStopLaunchRecord: any; updateParticipantsAll: any; updateFirstAll: any; updateUpdateMainWindow: any; updateFirst_round: any; updateLandScaped: any; updateLock_screen: any; updateScreenId: any; updateAllVideoStreams: any; updateNewLimitedStreams: any; updateNewLimitedStreamsIDs: any; updateActiveSounds: any; updateScreenShareIDStream: any; updateScreenShareNameStream: any; updateAdminIDStream: any; updateAdminNameStream: any; updateYouYouStream: any; updateYouYouStreamIDs: any; updateLocalStream: any; updateRecordStarted: any; updateRecordResumed: any; updateRecordPaused: any; updateRecordStopped: any; updateAdminRestrictSetting: any; updateVideoRequestState: any; updateVideoRequestTime: any; updateVideoAction: any; updateLocalStreamVideo: any; updateUserDefaultVideoInputDevice: any; updateCurrentFacingMode: any; updatePrevFacingMode: any; updateDefVideoID: any; updateAllowed: any; updateDispActiveNames: any; updateP_dispActiveNames: any; updateActiveNames: any; updatePrevActiveNames: any; updateP_activeNames: any; updateMembersReceived: any; updateDeferScreenReceived: any; updateHostFirstSwitch: any; updateMicAction: any; updateScreenAction: any; updateChatAction: any; updateAudioRequestState: any; updateScreenRequestState: any; updateChatRequestState: any; updateAudioRequestTime: any; updateScreenRequestTime: any; updateChatRequestTime: any; updateOldSoundIds: any; updateHostLabel: any; updateMainScreenFilled: any; updateLocalStreamScreen: any; updateScreenAlreadyOn: any; updateChatAlreadyOn: any; updateRedirectURL: any; updateOldAllStreams: any; updateAdminVidID: any; updateStreamNames: any; updateNon_alVideoStreams: any; updateSortAudioLoudness: any; updateAudioDecibels: any; updateMixed_alVideoStreams: any; updateNon_alVideoStreams_muted: any; updatePaginatedStreams: any; updateLocalStreamAudio: any; updateDefAudioID: any; updateUserDefaultAudioInputDevice: any; updateUserDefaultAudioOutputDevice: any; updatePrevAudioInputDevice: any; updatePrevVideoInputDevice: any; updateAudioPaused: any; updateMainScreenPerson: any; updateAdminOnMainScreen: any; updateScreenStates: any; updatePrevScreenStates: any; updateUpdateDateState: any; updateLastUpdate: any; updateNForReadjustRecord: any; updateFixedPageLimit: any; updateRemoveAltGrid: any; updateNForReadjust: any; updateLastReorderTime: any; updateAudStreamNames: any; updateCurrentUserPage: any; updateMainHeightWidth: any; updatePrevMainHeightWidth: any; updatePrevDoPaginate: any; updateDoPaginate: any; updateShareEnded: any; updateLStreams: any; updateChatRefStreams: any; updateControlHeight: any; updateIsWideScreen: any; updateIsMediumScreen: any; updateIsSmallScreen: any; updateAddGrid: any; updateAddAltGrid: any; updateGridRows: any; updateGridCols: any; updateAltGridRows: any; updateAltGridCols: any; updateNumberPages: any; updateCurrentStreams: any; updateShowMiniView: any; updateNStream: any; updateDefer_receive: any; updateAllAudioStreams: any; updateRemoteScreenStream: any; updateScreenProducer: any; updateGotAllVids: any; updatePaginationHeightWidth: any; updatePaginationDirection: any; updateGridSizes: any; updateScreenForceFullDisplay: any; updateMainGridStream: any; updateOtherGridStreams: any; updateAudioOnlyStreams: any; updateVideoInputs: any; updateAudioInputs: any; updateMeetingProgressTime: any; updateMeetingElapsedTime: any; updateRef_participants: any; updateMessages: any; updateStartDirectMessage: any; updateDirectMessageDetails: any; updateShowMessagesBadge: any; updateAudioSetting: any; updateVideoSetting: any; updateScreenshareSetting: any; updateChatSetting: any; updateAutoWave: any; updateForceFullDisplay: any; updatePrevForceFullDisplay: any; updatePrevMeetingDisplayType: any; updateWaitingRoomFilter: any; updateWaitingRoomList: any; updateWaitingRoomCounter: any; updateRequestFilter: any; updateRequestList: any; updateRequestCounter: any; updateTotalReqWait: any; updateIsMenuModalVisible: any; updateIsRecordingModalVisible: any; updateIsSettingsModalVisible: any; updateIsRequestsModalVisible: any; updateIsWaitingModalVisible: any; updateIsCoHostModalVisible: any; updateIsMediaSettingsModalVisible: any; updateIsDisplaySettingsModalVisible: any; updateIsParticipantsModalVisible: any; updateIsMessagesModalVisible: any; updateIsConfirmExitModalVisible: any; updateIsConfirmHereModalVisible: any; updateIsLoadingModalVisible: any; updateRecordingMediaOptions: any; updateRecordingAudioOptions: any; updateRecordingVideoOptions: any; updateRecordingVideoType: any; updateRecordingVideoOptimized: any; updateRecordingDisplayType: any; updateRecordingAddHLS: any; updateRecordingAddText: any; updateRecordingCustomText: any; updateRecordingCustomTextPosition: any; updateRecordingCustomTextColor: any; updateRecordingNameTags: any; updateRecordingBackgroundColor: any; updateRecordingNameTagsColor: any; updateRecordingOrientationVideo: any; updateClearedToResume: any; updateClearedToRecord: any; updateRecordState: any; updateShowRecordButtons: any; updateRecordingProgressTime: any; updateAudioSwitc