/** * JSON Canonicalization for deterministic hashing * * Implements RFC 8785-like canonicalization: * - Alphabetically sorted keys (recursive) * - UTF-8 NFC normalization * - No whitespace (compact) * - Deterministic across platforms * * @see docs/rfc/proof-bundle-v1.md#4-canonicalization */ /** * Canonicalize a JavaScript object into deterministic JSON string * * @param obj - Object to canonicalize * @returns Canonical JSON string (compact, sorted keys, UTF-8 NFC) * * @example * ```ts * const obj = { b: 2, a: 1 }; * const canonical = canonicalize(obj); * // Returns: '{"a":1,"b":2}\n' * ``` */ export declare function canonicalize(obj: any): string; /** * Canonicalize and append newline (standard format) * * @param obj - Object to canonicalize * @returns Canonical JSON string with trailing newline */ export declare function canonicalizeWithNewline(obj: any): string; /** * Remove signature field and canonicalize * Used for signature verification * * @param bundle - Proof bundle (may contain signature field) * @returns Canonical JSON without signature field */ export declare function canonicalizeForSigning(bundle: any): string; /** * Verify canonicalization is deterministic * * @param obj - Object to test * @returns true if canonicalization is stable */ export declare function isCanonicalStable(obj: any): boolean;