type TransformKeyCase = Case extends 'camel' ? S extends `${infer First}_${infer Rest}` ? `${First}${Capitalize>}` : S : S extends `${infer Start}${infer Rest}` ? `${Start extends Uppercase ? '_' : ''}${Lowercase}${TransformKeyCase}` : S; export type DeepTransformKeysCase = T extends string ? TransformKeyCase : T extends readonly unknown[] ? T : T extends object ? { [K in keyof T as K extends string ? TransformKeyCase : K]: DeepTransformKeysCase; } : T; export declare const camelCaseToSnakeCase: (obj: T) => DeepTransformKeysCase; export declare const snakeCaseToCamelCase: (obj: T) => DeepTransformKeysCase; export {};