import '../../style.scss'; import 'bootstrap'; import { AudioVideoFacade, AudioVideoObserver, ClientMetricReport, DeviceChangeObserver, MeetingSession, MeetingSessionConfiguration, MeetingSessionStatus, MeetingSessionVideoAvailability, VideoTileState } from '../../../../src/index'; declare class DemoTileOrganizer { private static MAX_TILES; private tiles; acquireTileIndex(tileId: number): number; releaseTileIndex(tileId: number): number; } export declare class DemoMeetingApp implements AudioVideoObserver, DeviceChangeObserver { showActiveSpeakerScores: boolean; activeSpeakerLayout: boolean; meeting: string | null; name: string | null; voiceConnectorId: string | null; sipURI: string | null; region: string | null; static readonly DID: string; static readonly BASE_URL: string; meetingSession: MeetingSession | null; audioVideo: AudioVideoFacade | null; tileOrganizer: DemoTileOrganizer; canStartLocalVideo: boolean; roster: any; tileIndexToTileId: { [id: number]: number; }; tileIdToTileIndex: { [id: number]: number; }; buttonStates: { [key: string]: boolean; }; enableWebAudio: boolean; constructor(); initParameters(): void; initEventListeners(): void; toggleButton(button: string, state?: 'on' | 'off'): boolean; displayButtonStates(): void; showProgress(id: string): void; hideProgress(id: string): void; switchToFlow(flow: string): void; audioInputsChanged(_freshAudioInputDeviceList: MediaDeviceInfo[]): void; videoInputsChanged(_freshVideoInputDeviceList: MediaDeviceInfo[]): void; audioOutputsChanged(_freshAudioOutputDeviceList: MediaDeviceInfo[]): void; metricsDidReceive(clientMetricReport: ClientMetricReport): void; initializeMeetingSession(configuration: MeetingSessionConfiguration): Promise; setClickHandler(elementId: string, f: () => void): void; join(): Promise; leave(): void; setupMuteHandler(): void; setupCanUnmuteHandler(): void; updateRoster(): void; setupSubscribeToAttendeeIdPresenceHandler(): void; joinMeeting(): Promise; endMeeting(): Promise; setupDeviceLabelTrigger(): void; populateDeviceList(elementId: string, genericName: string, devices: MediaDeviceInfo[], additionalOptions: string[]): void; populateInMeetingDeviceList(elementId: string, genericName: string, devices: MediaDeviceInfo[], additionalOptions: string[], callback: (name: string) => void): void; createDropdownMenuItem(menu: HTMLDivElement, title: string, clickHandler: () => void, id?: string): HTMLButtonElement; populateAllDeviceLists(): Promise; populateAudioInputList(): Promise; populateVideoInputList(): Promise; populateAudioOutputList(): Promise; private analyserNodeCallback; openAudioInputFromSelection(): Promise; setAudioPreviewPercent(percent: number): void; startAudioPreview(): void; openAudioOutputFromSelection(): Promise; private selectedVideoInput; openVideoInputFromSelection(selection: string | null, showPreview: boolean): Promise; private audioInputSelectionToDevice; private videoInputSelectionToDevice; authenticate(): Promise; log(str: string): void; audioVideoDidStartConnecting(reconnecting: boolean): void; audioVideoDidStart(): void; audioVideoDidStop(sessionStatus: MeetingSessionStatus): void; videoTileDidUpdate(tileState: VideoTileState): void; videoTileWasRemoved(tileId: number): void; videoAvailabilityDidChange(availability: MeetingSessionVideoAvailability): void; hideTile(tileIndex: number): void; tileIdForAttendeeId(attendeeId: string): number | null; activeTileId(): number | null; layoutVideoTiles(): void; visibleTileIndices(): number[]; layoutVideoTilesActiveSpeaker(visibleTileIndices: number[], activeTileId: number): void; updateTilePlacement(tileIndex: number, x: number, y: number, w: number, h: number): void; layoutVideoTilesGrid(visibleTileIndices: number[]): void; private setupScreenViewing; connectionDidBecomePoor(): void; connectionDidSuggestStopVideo(): void; videoSendDidBecomeUnavailable(): void; } export {};