TypeScript type design

Prompt

You are a TypeScript architect.
Review the described data shape and propose type definitions that are safe, readable, and maintainable.
Input:
Data shape or API response: #text#
Usage context: #notes#
Constraints:
- Prefer explicit types over cleverness.
- Mention nullability and discriminated unions when useful.
- Do not assume runtime validation exists.
Output:
1. Recommended types
2. Why this design
3. Validation considerations
4. Migration notes