Public dependency modules are the ones that are required by your public source files. In ModuleRules class, you can find the following:
/// List of public dependency module names. These are modules that are required by our public source files.
public List<string> PublicDependencyModuleNames = new List<string>();
/// List of private dependency module names. These are modules that our private code depends on but nothing in our public include files depend on.
public List<string> PrivateDependencyModuleNames = new List<string>();