export interface JsonCredential { '@context': string[]; id: string; type: string[]; issuer: string | Issuer; validUntil?: string; validFrom?: string; expirationDate?: string; credentialStatus?: CredentialStatus; issuanceDate?: string; issued?: string; credentialSubject: CredentialSubject; credentialSchema?: CredentialSchema; termsOfUse?: TermsOfUse; proof: Proof; } interface CredentialSchema { id: string; type: string; } interface TermsOfUse { id: string; type: string; } export interface Issuer { id: string; name: string; } export interface CredentialStatus { type: string; id: string; statusListCredential: string; statusListIndex: string; statusPurpose?: string; } export interface CredentialSubject { id?: string; [x: string]: any; } export interface Proof { type: string; created?: string; proofPurpose: string; verificationMethod: string; cryptosuite?: string; jws?: string; proofValue?: string; }