The dependency graph in you post, which I edited to wrap the graph in code format, shows you the various libraries that the library dependency finder, found. They will be automatically included.
library.json file for a library lists its dependencies. Those may also have dependencies, and so on.
In case you are not aware, a header file,
*.h, is not a library! Adding a library in the Arduino IDE gives you this impression because that’s what appears to happen. The header file simply tells the compiler that your code wishes to let it know that at some point it may see various function, supplied by the library, and what the function names are, their return type and parameter names and types.
The C/C++ compiler needs to know what a function “looks like”, whether in your code or a library, before it can be used by your code. The Arduino IDE doesn’t mind as it tries to sort out the functions you didn’t supply a description (prototype) for, and fills them in automagically.
The Arduino compilation process is described here. FYI.