Internal built-in hooks: The internal Mercurial, Git or Subversion hooks are
triggered by different VCS operations, like push, pull,
or clone and are non-configurable, but you can add your own VCS hooks,
see Adding Custom Hooks.

Custom rcextensions hooks: User defined hooks centre around the lifecycle of
certain actions such are repository creation, user creation etc. The actions
these hooks trigger can be rejected based on the API permissions of the
user calling them.