/**
 * Parse a JSON string if it is present, otherwise return undefined.
 *
 * @param value the JSON string to parse, or undefined if not present
 * @returns the parsed JSON object, or undefined if value is undefined
 */
export declare function parseIfPresent(value: string | undefined): any;
/**
 * Stringify a value to JSON if it is present, otherwise return undefined.
 *
 * @param value the value to stringify, or undefined if not present
 * @returns the JSON string or undefined
 */
export declare function stringifyIfPresent(value: any): string | undefined;
/**
 * Consistently stringify a JSON object with predictable key ordering.
 * This includes consistently ordering array elements.
 *
 * IAM policy documents have special predictable key ordering for better semantic readability.
 *
 * This intentionally does not handle custom classes or circular references.
 *
 * @param node the JSON object to stringify
 * @param spacer the string to use for one level of indentation
 * @param startingSpaces the current indentation string
 * @returns the consistently stringified JSON, or undefined if the input was undefined
 */
export declare function consistentStringify(node: any, spacer?: string, startingSpaces?: string): string;
//# sourceMappingURL=json.d.ts.map