import { JWTCredential } from "../../../pollux/models/JWTVerifiableCredential"; import type { Context } from "./index"; import { Plugins } from '../../types'; import { Payload } from '../../../domain/protocols/Payload'; export declare enum JWTRevocationStatusPurpose { Revocation = "Revocation", Suspension = "Suspension" } export interface JWTRevocationStatus { id: string; type: string; statusPurpose: JWTRevocationStatusPurpose; statusListIndex: number; statusListCredential: string; } export declare enum JWTProofType { EcdsaSecp256k1Signature2019 = "EcdsaSecp256k1Signature2019", DataIntegrityProof = "DataIntegrityProof", Unknown = "Unknown" } export declare enum JWTProofPurpose { ProofPurpose = "assertionMethod" } export interface JWTStatusListResponse { "@context": string[]; type: string[]; issuer: string; id: string; issuanceDate: string; credentialSubject: { id: string; type: string; statusPurpose: string; encodedList: string; }; proof: { type: JWTProofType; jws: string; proofPurpose: JWTProofPurpose; verificationMethod: string; created: string; proofValue: string; cryptoSuite: string; }; } interface Args { credential: JWTCredential; } export declare class IsCredentialRevoked extends Plugins.Task { run(ctx: Context): Promise; private extractVerificationStatusFromCredential; private fetchRevocationRegistry; private extractVerificationStatusFromResponse; private verifyRevocationProof; private encode; private extractEncodedList; } export {};