import { PresentationDefinition, PresentationSubmission } from '@sphereon/pe-models'; export interface CredentialSubject { id?: string; [x: string]: unknown; } export declare enum ProofType { Ed25519Signature2018 = "Ed25519Signature2018", Ed25519Signature2020 = "Ed25519Signature2020", EcdsaSecp256k1Signature2019 = "EcdsaSecp256k1Signature2019", EcdsaSecp256k1RecoverySignature2020 = "EcdsaSecp256k1RecoverySignature2020", JsonWebSignature2020 = "JsonWebSignature2020", RsaSignature2018 = "RsaSignature2018", GpgSignature2020 = "GpgSignature2020", JcsEd25519Signature2020 = "JcsEd25519Signature2020", BbsBlsSignatureProof2020 = "BbsBlsSignatureProof2020", BbsBlsBoundSignatureProof2020 = "BbsBlsBoundSignatureProof2020" } export declare enum ProofPurpose { assertionMethod = "assertionMethod", authentication = "authentication", keyAgreement = "keyAgreement", contractAgreement = "contactAgreement", capabilityInvocation = "capabilityInvocation", capabilityDelegation = "capabilityDelegation" } export interface Proof { type: ProofType | string; created: string; proofPurpose: ProofPurpose | string; verificationMethod: string; challenge?: string; domain?: string; proofValue?: string; jws?: string; nonce?: string; requiredRevealStatements?: string[]; [x: string]: string | string[] | undefined; } export interface CredentialStatus { id: string; type: string; } export interface Issuer { id: string; [x: string]: unknown; } export interface Credential { '@context': string[]; id: string; type: string[]; credentialSubject: CredentialSubject; issuer: string | Issuer; issuanceDate: string; expirationDate?: string; credentialStatus?: CredentialStatus; vc?: VerifiableCredential; [x: string]: unknown; } export interface VerifiableCredential extends Credential { proof: Proof | Proof[]; } export interface Presentation { '@context': string[]; type: string[]; verifiableCredential: VerifiableCredential[]; presentation_submission?: PresentationSubmission; holder?: string; } export interface VerifiablePresentation extends Presentation { proof: Proof | Proof[]; } export declare type InputFieldType = VerifiablePresentation | VerifiableCredential | VerifiableCredential[] | PresentationDefinition;