# TS2415: Class '…' incorrectly extends base class '…'.

> A class doesn't fit the instance type of the class it extends. Fix the member the indented lines point to so it matches the base class.

## What it means

A subclass must be usable wherever its base class is expected. When a member is declared in a
way that breaks that (a different visibility, an incompatible type, a private member with the
same name), the class declaration is reported with indented lines naming the member.

## Example

```ts
class Base {
  protected id = 0;
}
export class Child extends Base {
  private id = 1;
}
```

## How to fix

- Read the indented lines: they name the member and the mismatch.
- Keep the member's visibility at least as open as in the base class.
- Give the member a type compatible with the base class's, or rename it if it's a different thing.

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