Я бы хотел, чтобы типы C2, C3 и C4 из приведенного ниже кода были извлечены из кода C1 в приведенном ниже коде. Возможно ли это?
interface TypeA<A1, A2, A3> {
funcA1(): A1;
funcA2(): A2;
funcA3(): A3;
}
interface TypeB {
propC1: TypeA<'t1', 't2', 't3'>;
}
abstract class TypeC<C1 extends TypeB['propC1'], C2 = {}, C3 = {}, C4 = {}> {
abstract funcC1(a1: C2, a2: C3): C4;
}
Ссылка на игровую площадку
Например, C3 должен иметь тип 't2' (C3 = A2 = 't2')