import { Connection, OpenVidu, Publisher, PublisherProperties, Session, Stream } from 'openvidu-browser'; import { LoggerService } from '../logger/logger.service'; import { Observable } from 'rxjs'; import { ILogger } from '../../models/logger.model'; import { OpenViduEdition } from '../../models/openvidu.model'; import { Signal } from '../../models/signal.model'; import { VideoType } from '../../models/video-type.model'; import { OpenViduAngularConfigService } from '../config/openvidu-angular.config.service'; import { DeviceService } from '../device/device.service'; import { ParticipantService } from '../participant/participant.service'; import { PlatformService } from '../platform/platform.service'; import * as i0 from "@angular/core"; export declare class OpenViduService { protected openviduAngularConfigSrv: OpenViduAngularConfigService; protected platformService: PlatformService; protected loggerSrv: LoggerService; private participantService; protected deviceService: DeviceService; isSttReadyObs: Observable; private ovEdition; private webcamToken; private screenToken; protected OV: OpenVidu; protected OVScreen: OpenVidu; protected webcamSession: Session; protected screenSession: Session; protected videoSource: any; protected audioSource: any; private STT_TIMEOUT_MS; private sttReconnectionTimeout; private _isSttReady; protected log: ILogger; constructor(openviduAngularConfigSrv: OpenViduAngularConfigService, platformService: PlatformService, loggerSrv: LoggerService, participantService: ParticipantService, deviceService: DeviceService); initialize(): void; setWebcamToken(token: string): void; setScreenToken(token: string): void; getWebcamToken(): string; getScreenToken(): string; isOpenViduCE(): boolean; isOpenViduPro(): boolean; setOpenViduEdition(edition: OpenViduEdition): void; isSessionConnected(): boolean; clear(): Promise; getSession(): Session; getWebcamSession(): Session; isWebcamSessionConnected(): boolean; getScreenSession(): Session; isScreenSessionConnected(): boolean; isSttReady(): boolean; setSTTReady(value: boolean): void; connectSession(session: Session, token: string): Promise; disconnect(): void; initDefaultPublisher(): Promise; private initPublisher; publish(publisher: Publisher): Promise; private unpublish; publishVideo(publish: boolean): Promise; private publishVideoAux; publishAudio(publish: boolean): Promise; toggleScreenshare(): Promise; private publishAudioAux; sendSignal(type: Signal, connections?: Connection[], data?: any): void; replaceTrack(videoType: VideoType, props: PublisherProperties): Promise; subscribeRemotesToSTT(lang: string): Promise; subscribeStreamToStt(stream: Stream, lang: string): Promise; unsubscribeRemotesFromSTT(): Promise; private createMediaStream; needSendNicknameSignal(): boolean; isMyOwnConnection(connectionId: string): boolean; getRemoteConnections(): Connection[]; private disconnectSession; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }