# TS2387: Function overload must be static.

> Overloads of a class method mix static and instance signatures. Make every overload of the member static, or none of them.

## What it means

Overloads and their implementation must all live on the same side of the class. When the first
signature for a name is `static`, a later signature or implementation without `static` is
reported.

## Example

```ts
export class Ids {
  static next(prefix: string): string;
  next(prefix: string): string {
    return prefix + "1";
  }
}
```

## How to fix

- Make every overload and the implementation `static`.
- If you need both an instance and a static method, give them different names.

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