import { JWTPayload } from 'jose'; import { JsonCredential } from '../../shared/dto/jsonCredential.dto.js'; import { DCQLQuery } from '../../shared/dto/dcqlQuery.dto.js'; import { JsonPresentation } from '../../shared/dto/jsonPresentation.dto.js'; export interface VerifiablePresentation extends JWTPayload { vp?: { id: string; '@context': string[]; type: string[]; holder: string; verifiableCredential: string[] | JsonCredential[]; }; } export interface PresentationResult { valid: boolean; message?: string; } export declare enum CredentialFormat { JWT = "jwt_vc", JSON = "ldp_vc" } export interface CredentialFormatTuple { format: CredentialFormat; verifiableCredential: string | object; } export interface VPTokenData { vpTokenIssuer?: string; verifiableCredentials?: CredentialFormatTuple[]; verifiableCredentialsDecoded?: any[]; credentialQueryIds?: string[]; /** For JWT VPs this is the decoded JWT payload; for JSON-LD VPs it is the raw object. */ decodedVerifiablePresentation?: VerifiablePresentation | VerifiablePresentation[] | JsonPresentation | JsonPresentation[]; verifiablePresentation?: object | object[] | string | string[]; } export interface ExtractionResult { result: PresentationResult; vpTokenData?: VPTokenData; } export declare class VpTokenCredentialsExtractor { private vpToken; private dcqlQuery?; private vpTokenIssuer; private decodedVerifiablePresentation; private verifiablePresentation; constructor(vpToken: object | object[] | string | string[], dcqlQuery?: DCQLQuery); extract(): ExtractionResult; private setVpIssuer; private setVpTokenIssuer; private getCredentialsFromVp; }