Type Alias TAwaited<Type>

TAwaited<Type>: Type extends TComputed<infer Target extends string, infer Parameters extends TSchema[]>
    ? TFromComputed<Target, Parameters>
    : Type extends TRef<infer Ref extends string>
        ? TFromRef<Ref>
        : Type extends TIntersect<infer Types extends TSchema[]>
            ? TIntersect<TFromRest<Types>>
            : Type extends TUnion<infer Types extends TSchema[]>
                ? TUnion<TFromRest<Types>>
                : Type extends TPromise<infer Type extends TSchema>
                    ? TAwaited<Type>
                    : Type

Type Parameters