/** RFC 8785 JSON Canonicalization Scheme. * Differences from legacy canonicalize(): * - null values ARE preserved (not filtered) * - undefined object values become null * - Number serialization follows ES2015 spec * - All other behavior is identical (sorted keys, no whitespace) */ export declare function canonicalizeJCS(value: unknown): string; /** Detect which canonicalization variant was likely used. * Checks if null values are present — JCS preserves them, legacy strips them. */ export declare function detectCanonicalVariant(obj: unknown, canonicalString: string): 'jcs' | 'legacy' | 'ambiguous'; /** Cross-language test vector for canonicalization verification */ export interface CanonicalizationTestVector { id: string; description: string; input: unknown; expected_jcs: string; expected_legacy: string; sha256_jcs: string; sha256_legacy: string; } /** SHA-256 (lowercase hex) of canonicalizeJCS(obj). Strict-RFC-8785 * counterpart of canonicalHash() from ./canonical.ts. Use this for any * cross-implementation hash whose conformance pin requires strict JCS * (e.g. action_ref per draft-pidlisnyi-aps-01 §4.1). */ export declare function canonicalHashJCS(obj: Record): string; /** Built-in test vectors for cross-language verification */ export declare function getTestVectors(): CanonicalizationTestVector[]; //# sourceMappingURL=canonical-jcs.d.ts.map