type CapitalizeFirstLetter = S extends `${infer First}${infer Rest}` ? `${Uppercase}${Rest}` : S; /** * Append string P to all keys in T. * If K is provided, only append P to keys in K. * * @template T - The type to append keys to. * @template P - The string to append. * @template K - The keys to append P to. */ export type AppendKeys = { [key in keyof T as key extends K ? `${key}${CapitalizeFirstLetter

}` : key]: T[key] }; export {};