Declare a constructor inside an `interface`, and you will get a simple method with the name "constructor". The same thing will happen if you create a `new` method inside the `interface`: you'll get a simple method named "new".

Instead, the intent was probably to specify that the type did not originate from a TypeScript file. In such cases, just use the `declare class` syntax.

## Noncompliant Code Example

    interface TypeDeclaredElsewhere {
      someMethod(): number;
      new(b: boolean): TypeDeclaredElsewhere; // Noncompliant
      constructor(b: boolean): void; // Noncompliant
    }

## Compliant Solution

    declare class TypeDeclaredElsewhere {
      someMethod(): number;
      constructor(b: boolean);
    }