TypeScript supports class, method, accessor, property, and parameter decorators. Execution order is bottom-to-top (outer to inner): parameter decorators run first, then method decorators, then class decorators. When multiple decorators stack on a method, they compose right-to-left like function composition.
Parameter decorators run before method decorators on the same member.
Multiple decorators on the same target: factories evaluated top-to-bottom, then applied bottom-to-top.
Member decorators (methods, properties) run before class decorators.
Class decorator is always the last to execute — it sees the fully-decorated class.