When should I use interface vs type in TypeScript?
Use `interface` for object shapes you may extend or that describe a public API — interfaces support declaration merging and `extends`. Use `type` when you need unions, intersections, tuples, mapped types, or aliases for primitives. For plain object shapes the two are largely interchangeable; pick one and stay consistent.