import type { W3cJsonLdDeriveProofOptions } from './deriveProof'; import type { AgentContext } from '../../../agent/context'; import type { W3cJsonLdSignCredentialOptions, W3cJsonLdSignPresentationOptions, W3cJsonLdVerifyCredentialOptions, W3cJsonLdVerifyPresentationOptions } from '../W3cCredentialServiceOptions'; import type { W3cVerifyCredentialResult, W3cVerifyPresentationResult } from '../models'; import { W3cCredentialsModuleConfig } from '../W3cCredentialsModuleConfig'; import { SignatureSuiteRegistry } from './SignatureSuiteRegistry'; import { W3cJsonLdVerifiableCredential } from './models'; import { W3cJsonLdVerifiablePresentation } from './models/W3cJsonLdVerifiablePresentation'; /** * Supports signing and verification of credentials according to the [Verifiable Credential Data Model](https://www.w3.org/TR/vc-data-model) * using [Data Integrity Proof](https://www.w3.org/TR/vc-data-model/#data-integrity-proofs). */ export declare class W3cJsonLdCredentialService { private signatureSuiteRegistry; private w3cCredentialsModuleConfig; constructor(signatureSuiteRegistry: SignatureSuiteRegistry, w3cCredentialsModuleConfig: W3cCredentialsModuleConfig); /** * Signs a credential */ signCredential(agentContext: AgentContext, options: W3cJsonLdSignCredentialOptions): Promise; /** * Verifies the signature(s) of a credential * * @param credential the credential to be verified * @returns the verification result */ verifyCredential(agentContext: AgentContext, options: W3cJsonLdVerifyCredentialOptions): Promise; /** * Signs a presentation including the credentials it includes * * @param presentation the presentation to be signed * @returns the signed presentation */ signPresentation(agentContext: AgentContext, options: W3cJsonLdSignPresentationOptions): Promise; /** * Verifies a presentation including the credentials it includes * * @param presentation the presentation to be verified * @returns the verification result */ verifyPresentation(agentContext: AgentContext, options: W3cJsonLdVerifyPresentationOptions): Promise; deriveProof(agentContext: AgentContext, options: W3cJsonLdDeriveProofOptions): Promise; getVerificationMethodTypesByProofType(proofType: string): string[]; getKeyTypesByProofType(proofType: string): string[]; getProofTypeByVerificationMethodType(verificationMethodType: string): string; getExpandedTypesForCredential(agentContext: AgentContext, credential: W3cJsonLdVerifiableCredential): Promise; private getPublicKeyFromVerificationMethod; private getSignatureSuitesForCredential; }