Generate TypeScript interfaces from JSON data. Handles nested objects, arrays, optional fields, union types, and edge cases like null values and mixed arrays.