export interface Proof { type: string; created?: string; verificationMethod: string; proofPurpose: string; proofValue?: string; jws?: string; challenge?: string; domain?: string; nonce?: string; expires?: string; [key: string]: any; } export interface CredentialStatus { id: string; type: string; [key: string]: any; } export interface TermsOfUse { type: string; id?: string; profile?: string; prohibition?: Array<{ assigner: string; assignee: string; target: string; action: string[]; }>; obligation?: Array<{ assigner: string; assignee: string; target: string; action: string[]; }>; [key: string]: any; } export interface Evidence { id?: string; type: string | string[]; verifier?: string; evidenceDocument?: string; subjectPresence?: string; documentPresence?: string; licenseNumber?: string; [key: string]: any; } export interface RefreshService { id: string; type: string; [key: string]: any; } export interface CredentialSchema { id: string; type: string; [key: string]: any; } export interface VerifiableCredentialV2 { "@context": string | string[] | Record | Array>; id?: string; type: string | string[]; issuer: string | { id: string; [key: string]: any; }; validFrom?: string; validUntil?: string; credentialSubject: { id?: string; [key: string]: any; } | Array<{ id?: string; [key: string]: any; }>; proof?: Proof | Proof[]; credentialStatus?: CredentialStatus | CredentialStatus[]; termsOfUse?: TermsOfUse | TermsOfUse[]; evidence?: Evidence | Evidence[]; credentialSchema?: CredentialSchema | CredentialSchema[]; refreshService?: RefreshService | RefreshService[]; issuanceDate?: string; expirationDate?: string; } export interface VerifiablePresentationV2 { "@context": string | string[] | Record | Array>; id?: string; type: string | string[]; verifiableCredential?: (VerifiableCredentialV2 | string)[]; holder?: string | { id: string; [key: string]: any; }; proof?: Proof | Proof[]; termsOfUse?: TermsOfUse | TermsOfUse[]; } export type SignatureSuiteType = string; export declare enum ProofPurpose { ASSERTION_METHOD = "assertionMethod", AUTHENTICATION = "authentication", KEY_AGREEMENT = "keyAgreement", CAPABILITY_INVOCATION = "capabilityInvocation", CAPABILITY_DELEGATION = "capabilityDelegation" } export declare enum CredentialStatusType { REVOCATION_LIST_2020 = "RevocationList2020", STATUS_LIST_2021 = "StatusList2021", BITSTRING_STATUS_LIST = "BitstringStatusListEntry" } export declare const VC_V2_CONTEXTS: { CREDENTIALS_V2: string; CREDENTIALS_V1: string; ED25519_2020: string; BBS_2023: string; DATA_INTEGRITY_V2: string; STATUS_LIST_2021: string; TERMS_OF_USE: string; }; export declare function isVerifiableCredentialV2(credential: any): credential is VerifiableCredentialV2; export type VerifiableCredentialCompat = VerifiableCredentialV2; //# sourceMappingURL=vc2.d.ts.map