É possível declarar uma função que aceita uma matriz de instâncias de superclasse e retorna o tipo de subclasse mais específico
Estou escrevendo um arquivo de declarações Typcript para o meu pacote Javascrip
minha biblioteca possui uma função que aceita uma matriz de elementos da superclasse e retorna a superclass
function x(args: SuperClass[]): SuperClass
Gostaria de modificar o tipo de retorno do método para que ele retorne o tipo do elemento de subclasse mais específic
function x(args: SuperClass[]): TypeOfMostSpecificArg(args)
Por exempl
interface A {}
interface B extends A {}
interface C extends B {}
let a: A, b: B, c: C
x([]) // should have return type A
x([a, b, a]) // should have return type B
x([a, b, c]) // should have return type C
Isso é possível