import { AgoraRtcChannelClientObserver, AgoraRtcConnection, AgoraRtcVideoEncoderConfiguration } from '../../../core/rtc/type'; import { AgoraRteDualVideoStreamConfig } from '../../../type'; import { AgoraRtcPublishManager } from './publish'; import { AgoraWebRtcChannelClientInitConfig } from './type'; import { AgoraRtcDeviceManager } from './device'; import { AgoraObservable } from '../../../imports'; export declare class AgoraRtcPublishManagerBinder { private _initConfig; private _deviceManager; private _rtcClient; private _publishManager; private _hasPublishedVideo; private _hasPublishedAudio; private _connected; private _channelId; private _streamId; private _videoSourceId?; private _audioSourceId?; private _trackStatsTask?; private _observable; constructor(_initConfig: AgoraWebRtcChannelClientInitConfig, _deviceManager: AgoraRtcDeviceManager, token: string, connection: AgoraRtcConnection, { hasPublishedAudio, hasPublishedVideo, videoSourceId, audioSourceId, dualStreamConfig, }: { hasPublishedVideo: boolean; hasPublishedAudio: boolean; videoSourceId: string | undefined; audioSourceId: string | undefined; dualStreamConfig?: AgoraRteDualVideoStreamConfig; }, observable: AgoraObservable); get publishManager(): AgoraRtcPublishManager; publishVideo(streamId: string, sourceId: string): void; unpublishVideo(streamId: string): void; publishAudio(streamId: string, sourceId: string): void; unpublishAudio(streamId: string): void; release(): void; setVideoEncoderConfig(streamId: string, config: AgoraRtcVideoEncoderConfiguration): void; setLowStreamParameter(config: AgoraRtcVideoEncoderConfiguration): void; private _handleTrackStatsTask; }