Проблема в том, что тип wwCodes при таком объявлении будет равен
{ 0: string, 1: string, 2: string, 3: string, 45: string }
, но никак не
{ [key: number]: string }
, который ожидали бы.
Зависит от условия задачи.
wwCodes статически захардкожен в коде и не будет меняться на протяжении работы скрипта?
useState<keyof typeof wwCodes>
wwCodes - это некий generic объект, который мы получим извне (props, hooks, context), но мы предполагаем такую структуру?
type WwCodes = Record<number, string | undefined>
const wwCodes: WwCodes = ...