How to know what goes in a privatePCH file?

When making modules/plugins, how do I know what to include in the privatePCH file, and what to include normally?

I haven’t found any clear explanation for this, and so far I’ve only managed to make my stuff work through trial and error