///
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { Session } from 'openvidu-browser';
import { ILogger } from '../../models/logger.model';
import { MatDrawerContainer, MatSidenav } from '@angular/material/sidenav';
import { Subscription } from 'rxjs';
import { SidenavMode } from '../../models/layout.model';
import { ActionService } from '../../services/action/action.service';
import { BroadcastingService } from '../../services/broadcasting/broadcasting.service';
import { CaptionService } from '../../services/caption/caption.service';
import { ChatService } from '../../services/chat/chat.service';
import { OpenViduAngularConfigService } from '../../services/config/openvidu-angular.config.service';
import { LayoutService } from '../../services/layout/layout.service';
import { LoggerService } from '../../services/logger/logger.service';
import { OpenViduService } from '../../services/openvidu/openvidu.service';
import { PanelService } from '../../services/panel/panel.service';
import { ParticipantService } from '../../services/participant/participant.service';
import { PlatformService } from '../../services/platform/platform.service';
import { RecordingService } from '../../services/recording/recording.service';
import { TranslateService } from '../../services/translate/translate.service';
import { VirtualBackgroundService } from '../../services/virtual-background/virtual-background.service';
import * as i0 from "@angular/core";
export declare class SessionComponent implements OnInit, OnDestroy {
protected actionService: ActionService;
protected openviduService: OpenViduService;
protected participantService: ParticipantService;
protected loggerSrv: LoggerService;
protected chatService: ChatService;
private libService;
protected layoutService: LayoutService;
protected panelService: PanelService;
private recordingService;
private broadcastingService;
private translateService;
private captionService;
private platformService;
private backgroundService;
private cd;
toolbarTemplate: TemplateRef;
panelTemplate: TemplateRef;
layoutTemplate: TemplateRef;
usedInPrejoinPage: boolean;
onNodeCrashed: EventEmitter;
session: Session;
sessionScreen: Session;
sideMenu: MatSidenav;
sidenavMode: SidenavMode;
settingsPanelOpened: boolean;
drawer: MatDrawerContainer;
preparing: boolean;
protected readonly SIDENAV_WIDTH_LIMIT_MODE = 790;
protected menuSubscription: Subscription;
protected layoutWidthSubscription: Subscription;
protected updateLayoutInterval: NodeJS.Timer;
private captionLanguageSubscription;
protected log: ILogger;
constructor(actionService: ActionService, openviduService: OpenViduService, participantService: ParticipantService, loggerSrv: LoggerService, chatService: ChatService, libService: OpenViduAngularConfigService, layoutService: LayoutService, panelService: PanelService, recordingService: RecordingService, broadcastingService: BroadcastingService, translateService: TranslateService, captionService: CaptionService, platformService: PlatformService, backgroundService: VirtualBackgroundService, cd: ChangeDetectorRef);
beforeunloadHandler(): void;
sizeChange(): void;
set sidenavMenu(menu: MatSidenav);
set videoContainer(container: ElementRef);
set container(container: MatDrawerContainer);
set layoutContainer(container: ElementRef);
ngOnInit(): Promise;
ngOnDestroy(): void;
leaveSession(): void;
protected subscribeToTogglingMenu(): void;
protected subscribeToLayoutWidth(): void;
private connectToSession;
private subscribeToOpenViduException;
private subscribeToConnectionCreatedAndDestroyed;
private subscribeToStreamCreated;
private subscribeToStreamDestroyed;
private subscribeToCaptionLanguage;
private subscribeToStreamPropertyChange;
private subscribeToNicknameChanged;
private subscribeToReconnection;
private subscribeToRecordingEvents;
private subscribeToBroadcastingEvents;
private startUpdateLayoutInterval;
private stopUpdateLayoutInterval;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}