/**
 * This function converts a JSON string into a JSON object. The caveat is that if
 * the parser detects a number, it will convert it to a string and floor it to
 * an integer. This function will not throw but instead return an undefined value
 * if the JSON string is invalid.
 * @param jsonString The JSON string to parse
 * @returns The parsed JSON object or undefined if the JSON string is invalid
 */
export declare function parseJSONWithNumericString(jsonString: string): unknown | undefined;
/**
 * This function converts an object into a JSON string. The caveat is that if
 * the parser detects a BigNumber or BN, it will convert it to a string.
 * @param obj The object to stringify
 * @returns The stringified JSON object
 * @throws Error if the object cannot be stringified
 */
export declare function stringifyJSONWithNumericString(obj: unknown): string;
/**
 * A replacer for use in `JSON.stringify` that converts big numbers to numeric strings.
 * @param _key Unused
 * @param value The value to convert
 * @returns The converted value
 */
export declare function jsonReplacerWithBigNumbers(_key: string, value: unknown): unknown;
/**
 * A reviver for use in `JSON.parse` that converts numeric strings to big numbers.
 * @param _key Unused
 * @param value The value to convert
 * @returns The converted value
 */
export declare function jsonReviverWithBigNumbers(_key: string, value: unknown): unknown;
/**
 * A replacer for `JSON.stringify` that converts BigInt to a decimal string with 'n' suffix.
 */
export declare function jsonReplacerWithBigInts(_key: string, value: unknown): unknown;
/**
 * A reviver for `JSON.parse` that converts strings ending in 'n' back to BigInt.
 */
export declare function jsonReviverWithBigInts(_key: string, value: unknown): unknown;
