import { HMSTrackID } from '@100mslive/hms-video-store'; import { hooksErrHandler } from './types'; export interface useRemoteAVToggleResult { /** * true if unmuted and vice versa */ isAudioEnabled: boolean; isVideoEnabled: boolean; /** * current volume of the audio track */ volume?: number; /** * use this function to toggle audio state, the function will only be present if the user * has permission to mute/unmute remote audio */ toggleAudio?: () => void; /** * use this function to toggle video state, the function will only be present if the user * has permission to mute/unmute remote video */ toggleVideo?: () => void; /** * use this function to set the volume of peer's audio track for the local user, the function will * only be present if the remote peer has an audio track to change volume for */ setVolume?: (volume: number) => void; } /** * This hook can be used to implement remote mute/unmute + audio volume changer on tile level. * @param peerId of the peer whose tracks need to be managed * @param audioTrackId of the peer whose tracks need to be managed * @param videoTrackId of the peer whose tracks need to be managed * @param handleError to handle any error during toggle of audio/video */ export declare const useRemoteAVToggle: (audioTrackId: HMSTrackID, videoTrackId: HMSTrackID, handleError?: hooksErrHandler) => useRemoteAVToggleResult;