Why is this an issue?

JavaScript and TypeScript classes may define a constructor method that is executed when a new instance is created. TypeScript allows interfaces that describe a static class object to define a new() method. Using these terms to name methods in other contexts can lead to confusion and make the code unclear and harder to understand.

This rule reports when:

interface I {
  constructor(): void; // Noncompliant
  new(): I;
}

declare class C {
  constructor();
  new(): C; // Noncompliant
}

Do not define methods named constructor on TypeScript interfaces. Similarly, avoid defining class methods called new.

interface I {
  new(): I;
}

declare class C {
  constructor();
}

Resources

Documentation