condicional usando tipagem:

T extends U ? never : T

extends semelhante ao == nas condições de logica padrão, se devolver never isso significa que a tipagem em si sera removida.

<aside> 💡 obs: creio eu que só funciona usando type

</aside>

189 - Awaited

type MyAwaited<T extends Promise<any>> = T extends PromiseLike<infer A>
  ? A extends Promise<any>
    ? MyAwaited<A>
    : A
  : T;

type Y = Promise<{ field: number }>;
type Z = Promise<Promise<string | number>>;
type Z1 = Promise<Promise<Promise<string | boolean>>>;

type result = MyAwaited<Y>
// {field: number}

type result = MyAwaited<Z>
// string | number

type result = MyAwaited<Z>
// string | boolean

esse map é para obter a tipagem de uma Promise, deep map pra ser mais exato (deep map por obter as tipagem de niveis mais internos)

Vamos por partes:

type MyAwaited<T extends Promise<any>> = ...

definindo o nome da tipagem como MyAwaited e adicionando um tipo genérico T definindo ele por padrão sempre ira receber uma Promise<any> (Promise de qualquer coisa basicamente)

T extends PromiseLike<infer A> ...

enfim a tipagem começa com uma condição, se o tipo genérico T for igual uma PromiseLike (com a tipagem dela sendo inferida no tipo genérico A).