TypeScript - uma restrição genérica pode fornecer tipos "permitidos"?

Dado o seguinte código ...

type Indexable<TKey, TValue> = { [index: TKey]: TValue }

Isso produz o seguinte erro:

Um tipo de parâmetro de assinatura de índice deve ser 'string' ou 'number'.

Existe uma maneira de restringirTKey&nbsp;ser 'string' ou 'number'?