import { Observable } from 'rxjs';
import { AudioBitrateProfile } from '../gen/video/sfu/models/models';
import { DeviceManagerState, TrackDisableMode } from './DeviceManagerState';
import { BrowserPermission } from './BrowserPermission';
/**
 * Base state class for High Fidelity enabled device managers.
 */
export declare abstract class AudioDeviceManagerState<C> extends DeviceManagerState<C> {
    private readonly audioBitrateProfileSubject;
    /** An Observable that emits the current audio bitrate profile. */
    audioBitrateProfile$: Observable<AudioBitrateProfile>;
    /**
     * Constructs a new AudioDeviceManagerState instance.
     */
    protected constructor(disableMode: TrackDisableMode, permission: BrowserPermission | undefined, profile: AudioBitrateProfile);
    /**
     * Returns the current audio bitrate profile.
     */
    get audioBitrateProfile(): AudioBitrateProfile;
    /**
     * Sets the audio bitrate profile and stereo mode.
     */
    setAudioBitrateProfile(profile: AudioBitrateProfile): void;
}
