import { ClaimFormat } from "../ClaimFormat.mjs";
import { W3cV2DataIntegrityVerifiablePresentation, W3cV2DataIntegrityVerifiablePresentationOptions } from "../../data-integrity/W3cV2DataIntegrityVerifiablePresentation.mjs";
import { W3cV2JwtVerifiablePresentation, W3cV2JwtVerifiablePresentationOptions } from "../../jwt-vc/W3cV2JwtVerifiablePresentation.mjs";
import { W3cV2SdJwtVerifiablePresentation, W3cV2SdJwtVerifiablePresentationOptions } from "../../sd-jwt-vc/W3cV2SdJwtVerifiablePresentation.mjs";
import "../../data-integrity/index.mjs";
//#region src/modules/vc/models/presentation/W3cV2VerifiablePresentation.d.ts
export declare const decodeW3cV2VerifiablePresentation: (value: unknown) => W3cV2DataIntegrityVerifiablePresentation | W3cV2SdJwtVerifiablePresentation | W3cV2JwtVerifiablePresentation;
export declare function W3cV2VerifiablePresentationTransformer(): PropertyDecorator;
/**
 * A Secured W3C Verifiable Presentation (VP) as defined in the W3C VC Data Model 2.0
 * and secured according to VC-JOSE-COSE and VC Data Integrity specifications.
 *
 * It can be one of:
 * - A Verifiable Presentation encoded as a JWT.
 * - A Verifiable Presentation encoded as a SD-JWT.
 * - A Verifiable Presentation with embedded Data Integrity proof(s).
 *
 * This can be further enveloped using a {@link W3cV2EnvelopedVerifiablePresentation}.
 *
 * @see https://www.w3.org/TR/vc-data-model-2.0/
 * @see https://www.w3.org/TR/vc-jose-cose/
 * @see https://www.w3.org/TR/vc-data-integrity/
 *
 */
export type W3cV2VerifiablePresentation<Format extends ClaimFormat.JwtW3cVp | ClaimFormat.SdJwtW3cVp | ClaimFormat.DiVp | unknown = unknown> = Format extends ClaimFormat.JwtW3cVp ? W3cV2JwtVerifiablePresentation : Format extends ClaimFormat.SdJwtW3cVp ? W3cV2SdJwtVerifiablePresentation : Format extends ClaimFormat.DiVp ? W3cV2DataIntegrityVerifiablePresentation : W3cV2SdJwtVerifiablePresentation | W3cV2JwtVerifiablePresentation | W3cV2DataIntegrityVerifiablePresentation;
export type W3cV2VerifiablePresentationOptions<Format extends ClaimFormat.JwtW3cVp | ClaimFormat.SdJwtW3cVp | ClaimFormat.DiVp | unknown = unknown> = Format extends ClaimFormat.JwtW3cVp ? W3cV2JwtVerifiablePresentationOptions : Format extends ClaimFormat.SdJwtW3cVp ? W3cV2SdJwtVerifiablePresentationOptions : Format extends ClaimFormat.DiVp ? W3cV2DataIntegrityVerifiablePresentationOptions : W3cV2SdJwtVerifiablePresentationOptions | W3cV2JwtVerifiablePresentationOptions | W3cV2DataIntegrityVerifiablePresentationOptions;
//#endregion
//# sourceMappingURL=W3cV2VerifiablePresentation.d.mts.map