javascript - declaración d.ts para métodos de clase sobrescritos
Estoy intentando escribir un archivo js que esté anotado por un archivo d.ts. En uno de los archivos js tengo una clase que extiende otra clase y sobrescribe y sobrecarga una función de sus padres como se muestra en el código a continuación:
test.js
// @ts-check
class Test {
constructor() {}
foo() {}
}
class TestChild extends Test {
constructor() {
super();
}
foo(param1, param2) {
return param1 + param2;
}
}
dist/test.d.ts
declare class Test {
foo(): void;
}
declare class TestChild extends Test {
}
tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"declaration": true,
"noEmit": false,
"emitDeclarationOnly": true,
"target": "es5",
"outDir": "dist",
"downlevelIteration": true
},
"include": [
"./src/*.js"
]
}
Aparentemente, el archivo d.ts generado no tiene declaración para la función foo sobrescrita. ¿Qué puedo hacer para que TypeScript genere automáticamente la declaración para cualquier función que se herede y se sobrescriba?