TypeScript

Get your classes' types without writing them twice: point your modules at a TypeScript and their types appear in it.

A TypeScript is a module that holds generated types. A module with $Types path at the start of a line registers with that TypeScript; 0.35 s after a registered module changes, everything below the TypeScript's Generated types line is rewritten, one exported type per class with its fields and methods. The button after each $Types line regenerates at once. Requiring a TypeScript gives an empty table: it is only types.

From ModuleScript 1
From LuaSourceContainer 1
From Instance 22