TypeScript: ¿puede una restricción genérica proporcionar tipos "permitidos"?

Dado el siguiente código ...

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

Esto produce el siguiente error:

Un tipo de parámetro de firma de índice debe ser 'string' o 'number'.

¿Hay alguna manera de restringirTKey ser 'cadena' o 'número'?

Respuestas a la pregunta(2)

Su respuesta a la pregunta