Я могу сделать это в Typescript:
type Foo = {[key: string]: number}
Но какова цель «ключа»? Почему бы просто не сказать
type Foo = {[string]: number}