/** * Deep clones a JSON object. * @param obj - The JSON object to clone. * @returns A deep clone of the JSON object. */ export declare function deepClone(obj: T): T; /** * Converts a JSON object to a query string. * @param obj - The JSON object to convert. * @returns A query string representation of the JSON object. */ export declare function jsonToQueryString(obj: Record): string; /** * Converts a query string to a JSON object. * @param queryString - The query string to convert. * @returns A JSON object representation of the query string. */ export declare function queryStringToJson(queryString: string): Record; /** * Checks if a JSON object is empty (has no keys). * @param obj - The JSON object to check. * @returns True if the JSON object is empty, false otherwise. */ export declare function isEmpty(obj: Record): boolean; /** * Flattens a nested JSON object. * @param obj - The JSON object to flatten. * @param prefix - The prefix for nested keys. * @returns A flattened JSON object. */ export declare function flattenJson(obj: T, prefix?: string): Record; /** * Un-flattens a JSON object. * @param obj - The flattened JSON object to un-flatten. * @returns A nested JSON object. */ export declare function unFlattenJson(obj: Record): T; /** * Merges two JSON objects deeply. * @param obj1 - The first JSON object. * @param obj2 - The second JSON object. * @returns A new JSON object with merged properties. */ export declare function deepMergeJson(obj1: T, obj2: T): T; /** * Converts a JSON object to a formatted string. * @param obj - The JSON object to format. * @param indent - The number of spaces to use for indentation (default is 2). * @returns A formatted JSON string. */ export declare function prettyPrintJson(obj: Record, indent?: number): string; /** * Parses a JSON string safely, with error handling. * @param jsonString - The JSON string to parse. * @returns The parsed JSON object or null if parsing fails. */ export declare function safeParseJson(jsonString: string): T | null; /** * Gets the difference between two JSON objects. * @param obj1 - The first JSON object. * @param obj2 - The second JSON object. * @returns An object representing the difference between the two objects. */ export declare function getJsonDifference(obj1: Record, obj2: Record): Record; /** * Gets the common keys between two JSON objects. * @param obj1 - The first JSON object. * @param obj2 - The second JSON object. * @returns An array of keys that are present in both objects. */ export declare function getCommonKeys(obj1: Record, obj2: Record): string[]; /** * Converts a JSON array to a CSV string. * @param obj - The JSON array to convert. * @returns A CSV string representation of the JSON array. */ export declare function jsonToCsv(obj: Record[]): string;