TypeSharp resolves class hierarchies and maps them to TypeScript extends. Base classes are emitted as separate interface files and referenced by name.
public class BaseEntity { public int Id { get; set; } public DateTime CreatedAt { get; set; } } public class UserDto : BaseEntity { public string Name { get; set; } public string? Email { get; set; } }
// BaseEntity.ts export interface BaseEntity { id: number; createdAt: string; } // UserDto.ts import type { BaseEntity } from './BaseEntity' export interface UserDto extends BaseEntity { name: string; email: string | null; }
IEntity) are not mapped — only class inheritance.