import React, { ReactNode } from "react";
import { IMediaDevices, MediaDeviceKindEnum } from "../../../../../MediaDeviceHandler";
import MatrixClientContext from "../../../../../contexts/MatrixClientContext";
interface IState {
    mediaDevices: IMediaDevices | null;
    [MediaDeviceKindEnum.AudioOutput]: string | null;
    [MediaDeviceKindEnum.AudioInput]: string | null;
    [MediaDeviceKindEnum.VideoInput]: string | null;
    audioAutoGainControl: boolean;
    audioEchoCancellation: boolean;
    audioNoiseSuppression: boolean;
}
export default class VoiceUserSettingsTab extends React.Component<{}, IState> {
    static contextType: React.Context<import("matrix-js-sdk/src/client").MatrixClient>;
    context: React.ContextType<typeof MatrixClientContext>;
    constructor(props: {}, context: React.ContextType<typeof MatrixClientContext>);
    componentDidMount(): Promise<void>;
    private refreshMediaDevices;
    private requestMediaPermissions;
    private setDevice;
    private changeWebRtcMethod;
    private changeFallbackICEServerAllowed;
    private renderDeviceOptions;
    private renderDropdown;
    render(): ReactNode;
}
export {};
