> mute() if for muting the audio. Typically mutes the microphone and no interaction with the other end is needed.

Why not have muteAudio and muteVideo? Or mute(options)?

> Muting the video makes the other side being aware of it, and must be signaled. To mute the video hold() must be used instead.

It doesn't matter if the other endpoint is aware of it. What if I want to momentarily disable video but still maintain the audio active?