import { ILocalAudioTrack } from 'agora-rtc-sdk-ng'; import { AgoraRtcAudioRawDataConfig } from '../../../../core/rtc/type'; import { AgoraRtcAudioEffectContext } from '../struct'; import { AgoraEffectState, AgoraWebRtcExtensionDelegate } from '../type'; import { AgoraRtcDeviceManager } from '../device'; export declare class AgoraRtcMicrophoneControl { private _deviceId; private _deviceManager; private _extensionDelegate; private _effectState; protected logger: import("agora-foundation/lib/logger").Logger; private _isKeepRecording; private _isMicrophoneStarted; private _isDeviceStarting; private _isDeviceTesting; private _micTrack?; private _deviceContxt; private _isProcessing; private _volumeTask?; private _volumeInterval; private _audioRawDataConfig?; private _audioRawDataTrack?; private _volume?; private _localTrackObservable; private _deviceManagerObservable; constructor(_deviceId: string, _deviceManager: AgoraRtcDeviceManager, _extensionDelegate: AgoraWebRtcExtensionDelegate, isKeepRecording: boolean, _effectState: AgoraEffectState); get audioTrack(): ILocalAudioTrack | undefined; get deviceId(): string; get isStarted(): boolean; get audioDeviceContext(): AgoraRtcAudioEffectContext; release(): void; start(): void; stop(): void; startTest(): void; stopTest(): void; setKeepRecording(keepRecording: boolean): void; setVolumeInterval(interval: number): void; enableVolumeIndicator(): void; disableVolumeIndicator(): void; setAudioRawDataConfig(config: AgoraRtcAudioRawDataConfig): void; enableAudioRawDataObserver(): void; disableAudioRawDataObserver(): void; setVolume(volume: number): void; private _setAudioRawDataCallback; private _unsetAudioRawDataCallback; private _handleAudioFrameCallback; private _updateVolume; private _startVolumePolling; private _stopVolumePolling; private _isStateStale; private _syncState; private _openDevice; private _releasePreprocessor; private _closeDevice; private _initPreprocessor; }