import { IAnalyticsPropertiesProvider } from '../../analytics/IAnalyticsPropertiesProvider';
import { HMSAudioCodec, HMSAudioMode, HMSAudioTrackSettings as IHMSAudioTrackSettings } from '../../interfaces';
export declare class HMSAudioTrackSettingsBuilder {
    private _volume;
    private _codec?;
    private _maxBitrate?;
    private _deviceId;
    private _audioMode;
    private _advanced;
    volume(volume: number): this;
    codec(codec?: HMSAudioCodec): this;
    maxBitrate(maxBitrate?: number): this;
    deviceId(deviceId: string): this;
    audioMode(mode?: HMSAudioMode): this;
    advanced(advanced: Array<MediaTrackConstraintSet>): this;
    build(): HMSAudioTrackSettings;
}
export declare class HMSAudioTrackSettings implements IHMSAudioTrackSettings, IAnalyticsPropertiesProvider {
    readonly volume?: number;
    readonly codec?: HMSAudioCodec;
    readonly maxBitrate?: number;
    readonly deviceId?: string;
    readonly advanced?: Array<MediaTrackConstraintSet>;
    readonly audioMode?: HMSAudioMode;
    constructor(volume?: number, codec?: HMSAudioCodec, maxBitrate?: number, deviceId?: string, advanced?: Array<MediaTrackConstraintSet>, audioMode?: HMSAudioMode);
    toConstraints(): MediaTrackConstraints;
    toAnalyticsProperties(): {
        audio_bitrate: number | undefined;
        audio_codec: HMSAudioCodec | undefined;
    };
}
