import { IAgoraRTCClient, ILocalAudioTrack, ILocalVideoTrack } from 'agora-rtc-sdk-ng'; import { AgoraRtcVideoEncoderConfiguration } from '../../../core/rtc/type'; import { AgoraRtcErrorCode } from '../../../constant'; export declare class AgoraRtcPublishManager { private _mode; private _rtcClient; /** * local camera state by device id */ private _videoDeviceStateMap; /** * local microphone state by device id */ private _audioDeviceStateMap; /** * local tracks mapped by source id */ private _localVideoTracks; /** * local tracks mapped by source id */ private _localAudioTracks; protected logger: import("agora-foundation/lib/logger").Logger; private _destroyedLocalVideoTracks; private _destroyedLocalAudioTracks; private _videoPublishMap; private _audioPublishMap; private _videoEncoderConfigMap; private _isProcessing; private _streamId; constructor(_mode: 'live' | 'rtc', _rtcClient: IAgoraRTCClient, streamId: string, /** * local camera state by device id */ _videoDeviceStateMap?: Map, /** * local microphone state by device id */ _audioDeviceStateMap?: Map, /** * local tracks mapped by source id */ _localVideoTracks?: Map, /** * local tracks mapped by source id */ _localAudioTracks?: Map); onLocalVideoTrackCreated(sourceId: string, localTrack: ILocalVideoTrack): void; onLocalVideoTrackBeforeDestroy(sourceId: string, localTrack: ILocalVideoTrack): void; onLocalAudioTrackCreated(sourceId: string, localTrack: ILocalAudioTrack): void; onLocalAudioTrackBeforeDestroy(sourceId: string, localTrack: ILocalAudioTrack): void; onVideoDeviceStateFlagUpdated(deviceId: string, flag: number): void; onAudioDeviceStateFlagUpdated(deviceId: string, flag: number): void; setDualStreamMode(enable: boolean): AgoraRtcErrorCode; getStreamId(): string; publishVideo(streamId: string, sourceId: string): number; unpublishVideo(streamId: string): number; publishAudio(streamId: string, sourceId: string): number; unpublishAudio(streamId: string): number; release(): number; setVideoEncoderConfig(streamId: string, config: AgoraRtcVideoEncoderConfiguration): number; setLowStreamParameter(config: AgoraRtcVideoEncoderConfiguration): number; private _applyVideoEncoderConfig; private _putVideoPublishState; private _putAudioPublishState; private _isStateStale; private _syncState; private _setClientRole; private _publishTracks; private _unpublishTracks; private _getRtcMode; private _getLatencyLevel; private _cloneMap; }