import { JWT, Pluto } from "../../domain"; import { Credential, ProvableCredential, StorableCredential } from "../../domain/models/Credential"; import { CredentialType, W3CVerifiableCredential, W3CVerifiablePresentation } from "../../domain/models/VerifiableCredential"; export declare const JWTVerifiableCredentialRecoveryId = "jwt+credential"; export declare enum JWT_VC_PROPS { vc = "vc", revoked = "revoked" } export declare enum JWT_VP_PROPS { nonce = "nonce", vp = "vp" } export interface JWTCredentialPayload { [JWT.Claims.iss]: string; [JWT.Claims.iat]?: number; [JWT.Claims.jti]?: string; [JWT.Claims.nbf]?: number; [JWT.Claims.exp]?: number; [JWT.Claims.sub]: string; [JWT.Claims.aud]?: string | string[]; [JWT_VC_PROPS.revoked]?: boolean; [JWT_VC_PROPS.vc]: W3CVerifiableCredential; } export interface JWTPresentationPayload { [JWT.Claims.iss]?: string; [JWT.Claims.iat]?: number; [JWT.Claims.jti]?: string; [JWT.Claims.aud]?: string | string[]; [JWT.Claims.nbf]?: number; [JWT.Claims.exp]?: number; [JWT_VP_PROPS.nonce]?: string; [JWT_VP_PROPS.vp]: W3CVerifiablePresentation; } export declare class JWTCredential extends Credential implements ProvableCredential, StorableCredential, Pluto.Storable { credentialType: CredentialType; recoveryId: string; properties: Map; constructor(payload: string, revoked?: boolean); constructor(payload: JWTCredentialPayload | JWTPresentationPayload, revoked?: boolean); static fromJWS(jws: string, revoked?: boolean): JWTCredential; private isCredentialPayload; get isCredential(): boolean; get id(): any; get vc(): W3CVerifiableCredential | undefined; get vp(): W3CVerifiablePresentation | undefined; get claims(): Record[]; get context(): ["https://www.w3.org/2018/credentials/v1"] | ["https://www.w3.org/2018/presentations/v1"] | undefined; get credentialSchema(): { id: string; type: string; } | undefined; get credentialStatus(): unknown; get credentialSubject(): Record | undefined; get evidence(): { id: string; type: string; } | undefined; get expirationDate(): string | undefined; get issuanceDate(): string; get audience(): any; get issuer(): any; get refreshService(): { id: string; type: string; } | undefined; get subject(): string; get revoked(): boolean | undefined; get termsOfUse(): { id: string; type: string; } | undefined; get type(): ["VerifiableCredential"] | ["VerifiablePresentation"] | undefined; presentation(): W3CVerifiablePresentation; verifiableCredential(): W3CVerifiableCredential; toStorable(): { id: any; recoveryId: string; credentialData: string; issuer: any; subject: any; validUntil: any; availableClaims: string[]; revoked: boolean | undefined; }; }