/**
 * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
 *
 * Any changes you make here may be lost.
 *
 * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
 */
export type SnakeCaseKeys<T> = {
    [K in keyof T as SnakeCase<K & string>]: MapSnakeCaseKeysOverCollections<T[K]>;
};
type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}` ? `${Lowercase<P1>}${Capitalize<CamelCase<P2>>}` : Lowercase<S>;
type SnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${T extends Capitalize<T> ? "_" : ""}${Lowercase<T>}${SnakeCase<U>}` : S;
type MapCamelCaseKeysOverCollections<T> = T extends Array<infer X> ? Array<MapCamelCaseKeysOverCollections<X>> : CamelCaseKeys<T>;
type MapSnakeCaseKeysOverCollections<T> = T extends Array<infer X> ? Array<MapSnakeCaseKeysOverCollections<X>> : SnakeCaseKeys<T>;
type CamelCaseKeys<T> = {
    [K in keyof T as CamelCase<K & string>]: MapCamelCaseKeysOverCollections<T[K]>;
};
export declare function wrapError<T>(f: () => T, message: string): T;
/**
 * Rename keys to camel case.
 * @param obj - The object to rename keys to camel case
 * @returns The object with keys renamed to camel case
 */
export declare function renameKeysToCamelCase(obj: Record<string, any>): Record<string, any>;
export declare function camelCaseKeys<O extends Record<string, any>>(obj: O): CamelCaseKeys<O>;
export declare function snakeCaseKeys<O extends Record<string, any>>(obj: O): SnakeCaseKeys<O>;
export declare function unixToDate(unix: number): Date;
export {};
//# sourceMappingURL=util.d.ts.map