The variant itself would be private if possible, this is the solution closest to that.
ruma-events-macros provides a procedural macro for easily generating event types for ruma-events.