Custom particle emitters in C++

As far as I can see from reading UE4 sources, particle-related classes ( UParticleModule, FParticleSpriteEmitterInstance, etc ) are not designed to be inherited from in game code - they are lacking ENGINE_API specifiers. If it means that I shouldn’t define custom emitters in C++ modules of my project, then how it should be done properly? I would prefer doing complex math for them in written code, not Blueprints.