import { BbsBlsSignature2020, BbsBlsSignatureProof2020 } from '@mattrglobal/jsonld-signatures-bbs'; import { DataIntegrityProof } from '@digitalbazaar/data-integrity'; interface SigningResult { signed?: SignedVerifiableCredential; error?: string; } interface DerivedResult { derived?: SignedVerifiableCredential; error?: string; } interface VerificationResult { verified: boolean; error?: string; } type CredentialStatus = { id?: string; type: string; } & Record; type CredentialStatuses = CredentialStatus | CredentialStatus[]; type CredentialSchema = { id: string; type: string; } & Record; type CredentialSchemas = CredentialSchema | CredentialSchema[]; type CredentialSubject = Record; type CredentialSubjects = CredentialSubject | CredentialSubject[]; type TermsOfUse = { type: string; } & Record; type TermsOfUses = TermsOfUse | TermsOfUse[]; type RelatedResource = { id: string; mediaType?: string; } & ({ digestSRI: string; digestMultibase?: string; } | { digestSRI?: string; digestMultibase: string; }) & Record; type RelatedResources = RelatedResource | RelatedResource[]; type RefreshService = { type: string; } & Record; type RefreshServices = RefreshService | RefreshService[]; type Evidence = { type: string; } & Record; type Evidences = Evidence | Evidence[]; type Proof = { type: string; created?: string; proofPurpose: string; verificationMethod: string; proofValue: string; nonce?: string; } & Record; type VerifiableCredential = SignedVerifiableCredential | RawVerifiableCredential; type SignedVerifiableCredential = { '@context': string | string[]; id: string; type: string | string[]; issuer: string | Record; issuanceDate?: string; validFrom?: string; validUntil?: string; expirationDate?: string; credentialStatus?: CredentialStatuses; credentialSubject: CredentialSubjects; credentialSchema?: CredentialSchemas; termsOfUse?: TermsOfUses; evidence?: Evidences; relatedResource?: RelatedResources; refreshService?: RefreshServices; renderMethod?: Record; qrCode?: Record; proof?: Proof; } & Record; type RawVerifiableCredential = Omit; type RawVerifiablePresentation = { '@context': string | (string | Record)[]; type: string | string[]; id?: string; holder?: string | Record; verifiableCredential?: SignedVerifiableCredential | SignedVerifiableCredential[]; } & Record; type SignedVerifiablePresentation = RawVerifiablePresentation & { proof: Proof; }; type PresentationProofSuite = 'ecdsa-rdfc-2019'; type VerifiablePresentation = SignedVerifiablePresentation | RawVerifiablePresentation; interface PresentationSigningResult { signed?: SignedVerifiablePresentation; error?: string; } interface CredentialVerificationResult extends VerificationResult { credentialIndex: number; } interface PresentationVerificationResult { verified: boolean; error?: string; presentationResult?: VerificationResult; credentialResults?: CredentialVerificationResult[]; } type CryptoSuiteName = 'BbsBlsSignature2020' | 'bbs-2023' | 'ecdsa-sd-2023'; type ProofType = 'BbsBlsSignature2020' | 'BbsBlsSignatureProof2020' | 'DataIntegrityProof'; declare const proofTypeMapping: Record; export { type CredentialSchema, type CredentialSchemas, type CredentialStatus, type CredentialStatuses, type CredentialSubject, type CredentialSubjects, type CredentialVerificationResult, type CryptoSuiteName, type DerivedResult, type Evidence, type Evidences, type PresentationProofSuite, type PresentationSigningResult, type PresentationVerificationResult, type Proof, type ProofType, type RawVerifiableCredential, type RawVerifiablePresentation, type RefreshService, type RefreshServices, type RelatedResources, type SignedVerifiableCredential, type SignedVerifiablePresentation, type SigningResult, type TermsOfUse, type TermsOfUses, type VerifiableCredential, type VerifiablePresentation, type VerificationResult, proofTypeMapping };