TypeScript incluye utility types globales para transformaciones comunes de tipos. Conocerlos evita reinventar la rueda y hace el código más legible.
Básicos
Partial<T>: todas las propiedades opcionales. Required<T>: todas obligatorias. Readonly<T>: todas de solo lectura. Record<K, V>: objeto con claves K y valores V.
Para unión e intersección
Pick<T, K>: seleccionar propiedades. Omit<T, K>: excluir propiedades. Extract<T, U>: extraer miembros de unión. Exclude<T, U>: excluir miembros de unión.
Para funciones
Parameters<T>: tipos de parámetros. ReturnType<T>: tipo de retorno. ConstructorParameters<T>: parámetros de constructor. InstanceType<T>: tipo de instancia.
Para manipular cadenas
Uppercase<T>, Lowercase<T>, Capitalize<T>, Uncapitalize<T>. Disponibles desde TS 4.1.
Para promesas y arrays
Awaited<T>: desenvuelve Promesas anidadas. NonNullable<T>: elimina null y undefined.

