# TS2392: Multiple constructor implementations are not allowed.

> A class has more than one constructor with a body. Keep one implementation and turn the other forms into overload signatures.

## What it means

JavaScript classes have a single constructor. TypeScript lets you describe several ways to
call it with overload signatures, but only one constructor may have a body.

## Example

```ts
export class Range {
  constructor(start: number) {}
  constructor(start: number, end: number) {}
}
```

## How to fix

- Keep one constructor with a body; give it optional parameters or a union so it covers every case.
- Write the other forms as overload signatures (no body) before it.
- Or add static factory methods such as `Range.from(start, end)`.

Source: https://ts-r.dev/errors/TS2392/
