Hacer referencia a una clase sin nombre para usar un método estático diferente en subclases en TypeScript

En ES6, puede hacer referencia a métodos estáticos a través dethis.constructor:

class MainClass {
  static info() {
    return "This is some information";
  }
  constructor() {
    this.info = this.constructor.info(); // Allows subclass to define different '.info()' method.
  }
}

class ChildClass extends MainClass {
  static info() {
    return "This information is from the child";
  }

  constructor() {
    super();
  }
}

¿Hay alguna manera de hacer esto en TypeScript? Quiero poder anular el método estático de la superclase y usarlo desde la subclase sin redefinir la referencia en un método de instancia. En este momento, la única forma en que sé cómo acceder a un método estático en TypeScript utiliza el nombre de la clase.

MainClass.info();

Pero si hago eso, la subclase continuará usandoMainClass.info(); en lugar de ser propio.info() método.

Respuestas a la pregunta(2)

Su respuesta a la pregunta