export declare function canonicalize(obj: unknown, _ancestors?: WeakSet): string; /** Legacy canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied. * * Byte-identical to canonicalize() for every value it accepts: same key sort, same * null and undefined stripping, same Date handling, same cycle rule. The only * difference is that an integer-valued number outside the interoperable IEEE 754 range * is refused rather than emitted. See core/write-policy.ts for the rule. * * Use at signing and new-write boundaries ONLY. Verification, recompute and any path * rebuilding the preimage of an existing artifact must keep calling canonicalize(), * which stays unrestricted so historical bytes keep verifying. * * READS EACH PROPERTY EXACTLY ONCE. canonicalize() above reads obj[key] twice, once in * its filter and once in its map, so a standalone validator in front of it would make a * third read and a getter or Proxy could answer safe, safe, then unsafe. Here the value * is captured once into `val`, checked, and emitted from that same capture, so the * value checked is the value signed. Do not refactor this back into filter plus map. */ export declare function canonicalizeForWrite(obj: unknown, path?: string, _ancestors?: WeakSet): string; export declare function canonicalJson(obj: Record): string; export declare function canonicalHash(obj: Record): string; /** Write-boundary twin of canonicalHash(). * * Reaches a canonicalizer indirectly through canonicalJson(), so a census over direct * canonicalizer calls cannot see it. Same digest as canonicalHash() for every value it * accepts; the only difference is that an integer-valued number outside the * interoperable IEEE 754 range is refused instead of hashed. Use at signing and * new-write boundaries ONLY: canonicalHash() stays unrestricted because verifiers * recompute commitments with it over artifacts committed before this rule. */ export declare function canonicalHashForWrite(obj: Record): string; export declare function normalizeTimestamp(ts: string): string; //# sourceMappingURL=canonical.d.ts.map