# TS2383: Overload signatures must all be exported or non-exported.

> Some overload signatures of a function are exported and others aren't. Export all of them, or none.

## What it means

All overloads of a function, and its implementation, form one declaration. They must agree
on `export`.

## Example

```ts
export function parse(s: string): number;
function parse(s: number): number;
export function parse(s: string | number): number {
  return Number(s);
}
```

## How to fix

- Add or remove `export` so every signature matches.

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