Unfortunately, something like this is not possible. Typescript in its current form does not support type keys transformation/mapping. FWIW, I ran into some issues with the types from @ford04's answer. I found CamelCasedProperties and SnakeCasedProperties from https://github.com/sindresorhus/type-fest to work well so far. Solution Playground This is possible with template literal types in TypeScrip