import { MediaDevice } from '@zoom/videosdk';

export type AudioContextType = {
    micList: MediaDevice[];
    activeMicId: string;
    micMuted: boolean;
    muteMic: () => Promise<void>;
    muteUserMic: (userId: number) => Promise<void>;
    unmuteUserMic: (userId: number) => Promise<void>;
    unmuteMic: () => Promise<void>;
    switchMic: (deviceId: string) => Promise<void>;
    speakerList: MediaDevice[];
    activeSpeakerId: string;
    switchSpeaker: (deviceId: string) => Promise<void>;
    startAudio: (muteOverride?: boolean) => Promise<void>;
    noiseSuppression: boolean;
    toggleNoiseSuppression: () => Promise<void>;
    setMicList: (mics: MediaDevice[]) => void;
    setSpeakerList: (speakers: MediaDevice[]) => void;
    setActiveMicId: (id: string) => void;
    setActiveSpeakerId: (id: string) => void;
    setMicMuted: (muted: boolean) => void;
};
export declare const AudioContext: import('react').Context<AudioContextType>;
export declare const useAudioContext: () => AudioContextType;
