import type { EvidenceBundleBodyV2, EvidenceBundleMemberInputV2, EvidenceBundleMemberV2, EvidenceBundleProofV2, JsonValue, SupportingRecordV1 } from './types.js'; export declare const SUPPORTING_RECORD_ID_TAG: 'APS-SUPPORTING-RECORD-ID-V1'; export declare const SUPPORTING_RECORD_SIG_TAG: 'APS-SUPPORTING-RECORD-SIG-V1'; export declare function supportingRecordIdPayloadV1(record: SupportingRecordV1): string; export declare function computeSupportingRecordIdV1(record: SupportingRecordV1): string; export declare function supportingRecordSignaturePayloadV1(record: SupportingRecordV1): string; export declare function validateSupportingRecordV1(record: SupportingRecordV1, requireCrypto?: boolean): void; export declare function createSupportingRecordV1(fields: Omit, privateKey: string): SupportingRecordV1; export declare function verifySupportingRecordV1(record: SupportingRecordV1, publicKey: string): { valid: boolean; id_valid: boolean; signature_valid: boolean; }; export declare function evidenceBundleMerkleRootV2(entries: EvidenceBundleMemberV2[]): string; export declare function buildEvidenceBundleBodyV2(members: EvidenceBundleMemberInputV2[]): EvidenceBundleBodyV2; export declare function verifyEvidenceBundleBodyV2(body: EvidenceBundleBodyV2, payloads?: Record): boolean; /** Build an inclusion proof over the already-sorted manifest members. * Odd nodes are promoted, never duplicated, and the promotion is explicit in * the proof so a verifier can validate the tree shape from leaf_count. */ export declare function buildEvidenceBundleProofV2(entries: EvidenceBundleMemberV2[], memberId: string): EvidenceBundleProofV2; export declare function verifyEvidenceBundleProofV2(proof: EvidenceBundleProofV2, trustedRoot: string, payload?: JsonValue): boolean; export type SupportingRecordFormat = { format: 'supporting-record-v1'; canonicalization: 'rfc8785'; legacy: false; } | { format: 'evidence-bundle-v1'; canonicalization: 'aps-legacy-null-dropping'; legacy: true; } | { format: 'composition-check-v0'; canonicalization: 'rfc8785-tagged-v0'; legacy: true; } | { format: 'accountability-record-0.1.0'; canonicalization: 'rfc8785-untagged'; legacy: true; } | { format: 'read-fidelity-unwrapped'; canonicalization: 'rfc8785-untagged'; legacy: true; } | { format: 'revocation-observation-unversioned'; canonicalization: 'aps-legacy-null-dropping'; legacy: true; } | { format: 'unknown'; canonicalization: 'unknown'; legacy: false; }; /** Explicit discriminator dispatch. Verification code must never try both canonicalizers. */ export declare function classifySupportingRecordFormat(value: unknown): SupportingRecordFormat; /** Legacy canonical bytes are exposed only after explicit legacy classification. */ export declare function legacyNullDroppingPayload(value: JsonValue): string; //# sourceMappingURL=supporting-record.d.ts.map