export type RemovePrefix = T extends `${Prefix}${infer Tail}` ? `${Tail}` : T; export type KebabToCamelCase = T extends `${infer Head}-${infer Tail}` ? `${Head}${Capitalize>}` : T; export type CamelCase = { [Property in keyof T as KebabToCamelCase]: T[Property]; };