On the wiki, the Entity Component Documentation includes documentation for the components of spawn rules JSON files. The vanilla behavior pack has a component named density_limit that is not documented in this file. I believe it determines the density cap limits for the type of mob and has sub-components for surface, underground, and underwater spawns.
In addition, the description of the minecraft:spawns_underwater component is in error. It reads "This component allows the mob to spawn underwater. Adding the component causes it to be true, removing it causes the mob to stop spawning on the surface", when it should say underwater.