/** A value that survives a JSON round trip unchanged. */ export type JsonValue = null | boolean | number | string | JsonValue[] | { [key: string]: JsonValue; }; /** * JSON with object keys sorted at every depth, so two structurally equal * values produce the same string and therefore the same hash. * * Arrays keep their order — order is meaningful there. An `undefined` object * property is dropped and an `undefined` array element becomes `null`, which * is what `JSON.stringify` does; callers that must distinguish "absent" from * "present and undefined" cannot rely on this. */ export declare function canonicalize(value: unknown): string;