import MediaStreamConstraintsOptions from '../media/MediaStreamConstraintsOptions'; import EventEmitter from "eventemitter3"; interface sourceCamera { audio?: boolean; video?: boolean; audioInput?: string; audioBitrate?: number; videoInput?: string; videoQuality?: number; facingMode?: string; width?: number; height?: number; frameRate?: number; bitrate?: number; } interface sourceStreen { audio?: boolean; videoQuality?: number; } interface sourceCustom { source?: HTMLMediaElement | MediaStream; bitrate?: number; } declare type source = sourceCamera | sourceStreen | sourceCustom; declare class Octopus extends EventEmitter { private _roomId; private _appId; private _userId; private _logLevel; private _userName; private _role; private _signal; private _media; private _logger; private _mediaContraints; private _mediaList; private _bitRate; private _octopusConfig; private _env; private _LOGURL; private _SDKVERSION; onPublishStateUpdate: any; onPlayStateUpdate: any; onStreamUpdated: any; onDisconnect: any; onKickOut: any; constructor(options: options.octopusClient); login(roomId: string, role: 1 | 2, token: string, success: (streamList: exportsData.loginSuccessResult[]) => void, error?: (err: exportsData.errorMsg) => void): void; logout(): void; startPreview(mediaStreamConstraints?: MediaStreamConstraintsOptions, localVideo?: HTMLMediaElement): Promise; stopPreview(video: HTMLMediaElement): void; createStream(source?: source): Promise | void; destroyStream(mediastream: MediaStream): void; getDevicesSettings(): void | MediaTrackCapabilities; changeAudioConstraints(constrains: MediaTrackConstraints): Promise; changeVideoConstraints(params: any): Promise; startPublishingStream(streamId: string, params?: HTMLMediaElement | MediaStream, extraInfo?: any, publishOption?: any): Promise | void; stopPublishingStream(streamId: string): void; startPlayingStream(streamId: string, remoteVideo?: HTMLMediaElement, audioOutput?: any, playOption?: any): Promise | void; stopPlayingStream(remoteStreamId: string): void; updateMixStream(mixStreamConfig: options.mixStreamConfig, successCallback: any, failedCallback: any): void; mute(userId: string): void; unmute(userId: string): void; openCamera(): void; closeCamera(): void; } export default Octopus;