import EventEmitter from "eventemitter3"; import { loginSuccessResult, streamState, changeConstraintsResult, errMsg } from '../common/exportInterface'; export interface sourceCamera { audio?: boolean; video?: boolean; audioInput?: string; audioBitrate?: number; videoInput?: string; videoQuality?: number; facingMode?: string; width?: number; height?: number; frameRate?: number; bitrate?: number; AGC?: boolean; ANS?: boolean; AEC?: boolean; } interface sourceStreen { audio?: boolean; videoQuality?: number; } interface sourceCustom { source?: HTMLMediaElement | MediaStream; bitrate?: number; } declare type source = { camera?: sourceCamera; screen?: sourceStreen; custom?: sourceCustom; }; export declare class OctopusRTC extends EventEmitter { private _roomId; private _appId; private _userId; private _logLevel; private _userName; private _signal; private _media; private _logger; private _mapStreamIdInfo; private _customBitrate; private _octopusConfig; private _env; private _mapUserIdhandler; private _LOGURL; private _SDKVERSION; constructor(options: options.octopusClient); login(roomId: string, role: 1 | 2, token: string): Promise; getSignalState(): void; logout(): void; createStream(source?: source): Promise; destroyStream(mediastream: MediaStream): void; startPublishingStream(streamId: string, mediastream: MediaStream, extraInfo?: any, publishOption?: any): Promise; startPlayingStream(streamId: string, audioOutput?: any, playOption?: any): Promise; getPublisherStateUpdate(streamId: string): Promise; getPlayerStateUpdate(streamId: string): Promise; stopPublishingStream(streamId: string): void; stopPlayingStream(streamId: string): void; updateMixStream(mixStreamConfig: options.mixStreamConfig, successCallback: any, failedCallback: any): void; muteSwitch(streamId: string, mute: boolean): void; cameraSwitch(streamId: string, state: 'close' | 'open'): void; getDevicesSettings(): void | MediaTrackCapabilities; private updateDevice; replaceTrack(streamId: string, track: MediaStreamTrack): MediaStream; changeConstraints(streamId: string, type: 'audio' | 'video', constrains: MediaTrackConstraints & sourceCamera): Promise; isSupported(): boolean; } export {};