The satisfies operator checks that an expression matches a type without widening the inferred type. const config = { theme: 'dark' } satisfies Config still infers 'dark' rather than string.
This is the answer to the long-standing tension between type checking and literal-type inference. Use it for config objects, route maps, and discriminated union builders.
It does not change runtime behaviour — satisfies erases like any other type assertion. It is purely an inference helper.