/** * Default {@link CryptoService} for Linked Data Proofs and Data Integrity proofs * via `@interop/vc`. */ import type { CryptoService } from '../types/crypto-service.js'; import type { CryptoSuite, ProofPurpose } from '../types/crypto-suite.js'; import type { ProblemDetail } from '../types/problem-detail.js'; /** Exported for unit testing. */ export declare function classifySignatureError(error: unknown, credential: Record | undefined): ProblemDetail[]; /** * Selects the proof purpose used to verify a presentation's proof set. * * Scans EVERY proof in a proof array, not just the first: under * `AssertionProofPurpose`, jsonld-signatures skips non-matching proofs and * aggregates with `verified = results.some(...)`, so picking the purpose from * `proof[0]` alone would let a presentation whose first proof is an * `assertionMethod` proof verify while its `authentication` proof -- the only * thing binding the response to the request's challenge and domain -- is never * signature-checked. If any proof declares an authentication purpose, verify * under `AuthenticationProofPurpose` so the authentication proof(s) are the * ones checked. * * Exported for unit testing. */ export declare function getPresentationPurpose(presentation: Record, challenge: string | null | undefined): ProofPurpose; export interface DataIntegrityCryptoConfig { suites: CryptoSuite[]; } /** * Builds a {@link CryptoService} that verifies via `@interop/vc` using the * given proof suites (e.g. Ed25519Signature2020 + DataIntegrityProof). * * Signature verification only — credential status is the responsibility * of `statusSuite` (see `src/suites/status/`). This adapter does not * read or verify `credentialStatus`. */ export declare function DataIntegrityCryptoService(config: DataIntegrityCryptoConfig): CryptoService; //# sourceMappingURL=data-integrity-crypto.d.ts.map