type UserStruct = { 'prefix:name': string 'prefix:age': number lastName: string } type RemovePrefix = T extends `prefix:${infer U}` ? U : T type RemovePrefixFromStruct = { [K in keyof T as RemovePrefix]: T[K] } const user = { name: 'John', age: 25, lastName: 'Doe' } satisfies RemovePrefixFromStruct