Hi Nasco,
You are correct, you unfortunately cannot use the exported types as values in typescript. We are very interested in a PR for non-magic strings!
The types do flow correctly with the magic strings because of the string literal overloads

As far as the PR goes, lets do something like this with an enum called EventTypes following pascal casing for the individual types. Using the same string literal value in the enum still allows the types to flow for built in events while allowing others to still define there own "string" based events
That way the type signature in the final implementation would look like this when exported out of the Events namespace in Excalibur:
`ex.Events.EventTypes.PostUpdate`
Thanks,
Erik @ Excalibur