What does COREUOBJECT_API & ENGINE_API macro?

Is there any particular reason an engine plugin should not have it’s API exported? For example, the AnalyticsBlueprintLibrary? I’m trying to extend it but I need to export it’s API in order to do so.