the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

TS1017

An index signature cannot have a rest parameter.

When writing an index signature, there must be exactly one parameter which is not a rest parameter:

interface A {
  [...index: string]: boolean;
}

Fix: Remove the ellipsis.

To fix the error, just remove the ellipsis token (...):

interface A {
  [index: string]: boolean;
}

If you meant to state that the describes a function, use parenthesis rather than brackets:

interface A {
  (...args: string[]): boolean;
}