| decorators | public | DecoratorApplication[] | - | - | DecoratedType.decorators | 
| entityKind | readonly | "Type" | - | - | BaseType.entityKind | 
| expression | public | boolean | - | - | - | 
| instantiationParameters? | public | Type[] | - | - | BaseType.instantiationParameters | 
| isFinished | public | boolean | Reflect if a type has been finished(Decorators have been called). There is multiple reasons a type might not be finished: - a template declaration will not - a template instance that argument that are still template parameters - a template instance that is only partially instantiated(like a templated operation inside a templated interface) | - | BaseType.isFinished | 
| kind | public | "Union" | - | BaseType.kind | - | 
| name? | public | string | - | - | - | 
| namespace? | public | Namespace | - | - | - | 
| node? | public | UnionStatementNode|UnionExpressionNode | Node used to construct this type. If the node is undefined it means the type was dynamically built. With typekit for example. | BaseType.node | - | 
| templateMapper? | public | TypeMapper | - | - | TemplatedTypeBase.templateMapper | 
| templateNode? | public | Node | - | - | TemplatedTypeBase.templateNode | 
| variants | public | RekeyableMap<string|symbol,UnionVariant> | The variants of the union. Variants are ordered in order that they appear in source. | - | - |