import { ReturnSdJwtWithHeaderAndPayload } from '../sdJwt'; import { SdJwt, SdJwtVerificationResult } from '../sdJwt'; import { Verifier } from '../types'; export type SdJwtVcVerificationResult = SdJwtVerificationResult & { containsExpectedKeyBinding: boolean; containsRequiredVcProperties: boolean; }; export declare class SdJwtVc
= Record, Payload extends Record = Record> extends SdJwt { assertNonSelectivelyDisclosableClaims(): void; private validateSdJwtVc; /** * * Instantiate a sd-jwt-vc from a compact format. * * @throws when the compact sd-jwt-vc is not a valid sd-jwt-vc * */ static fromCompact
= Record, Payload extends Record = Record>(compact: string): ReturnSdJwtWithHeaderAndPayload>; /** * * Verify the sd-jwt-vc. * * It validates the following properties: * - sd-jwt issuer signature * - Optionally, the required claims * - The `nbf` and `exp` claims * - Whether the key binding is valid * - Whether the expected key binding is used * - Whether the required sd-jwt-vc properties are included * */ verify(verifier: Verifier
, requiredClaimKeys?: Array, expectedCnfClaim?: Record): Promise; /** * * Create a compact format of the sd-jwt-vc. * * This will * - Apply the disclosure frame * - Add a signature if there is none * * @throws when the sd-jwt-vc is not conformant to the specification * @throws When the signature and signer are not defined * @throws When a claim is requested to be selectively disclosable, but it was not found in the payload * */ toCompact(): Promise; }