import { Publisher, StreamManager } from 'openvidu-browser'; import { VideoType } from './video-type.model'; export declare enum OpenViduRole { MODERATOR = "MODERATOR", PUBLISHER = "PUBLISHER" } export interface StreamModel { connected: boolean; type: VideoType; streamManager: StreamManager; videoEnlarged: boolean; connectionId: string; participant?: ParticipantAbstractModel; } export interface ParticipantProperties { local: boolean; nickname: string; id?: string; colorProfile?: string; isMutedForcibly?: boolean; } export declare abstract class ParticipantAbstractModel { streams: Map; id: string; local: boolean; nickname: string; colorProfile: string; isMutedForcibly: boolean; constructor(props: ParticipantProperties, model?: StreamModel); addConnection(streamModel: StreamModel): void; hasAudioActive(): boolean; private isCameraAudioActive; isCameraVideoActive(): boolean; isScreenAudioActive(): boolean; hasConnectionType(type: VideoType): boolean; getCameraConnection(): StreamModel; getScreenConnection(): StreamModel; getConnectionTypesActive(): VideoType[]; setCameraConnectionId(connectionId: string): void; setScreenConnectionId(connectionId: string): void; removeConnection(connectionId: string): StreamModel; hasConnectionId(connectionId: string): boolean; getConnectionById(connectionId: string): StreamModel; getAvailableConnections(): StreamModel[]; isLocal(): boolean; setNickname(nickname: string): void; getNickname(): string; setCameraPublisher(publisher: Publisher): void; setScreenPublisher(publisher: Publisher): void; setPublisher(connType: VideoType, publisher: StreamManager): void; isCameraActive(): boolean; enableCamera(): void; disableCamera(): void; isScreenActive(): boolean; enableScreen(): void; disableScreen(): void; setAllVideoEnlarged(enlarged: boolean): void; setCameraEnlarged(enlarged: boolean): void; setScreenEnlarged(enlarged: boolean): void; toggleVideoEnlarged(connectionId: string): void; someHasVideoEnlarged(): boolean; setMutedForcibly(muted: boolean): void; getRole(): OpenViduRole; } export declare class ParticipantModel extends ParticipantAbstractModel { }