import { JsonObject, SingleOrArray } from "../../../../types.mjs";
import { W3cV2EnvelopedVerifiableCredential, W3cV2EnvelopedVerifiableCredentialOptions } from "../credential/W3cV2EnvelopedVerifiableCredential.mjs";
import { W3cV2EnvelopedVerifiablePresentation, W3cV2EnvelopedVerifiablePresentationOptions } from "./W3cV2EnvelopedVerifiablePresentation.mjs";
import { W3cV2DataIntegritySecuredCredential, W3cV2DataIntegrityVerifiableCredential } from "../../data-integrity/W3cV2DataIntegrityVerifiableCredential.mjs";
import { W3cV2DataIntegritySecuredPresentation, W3cV2DataIntegrityVerifiablePresentation } from "../../data-integrity/W3cV2DataIntegrityVerifiablePresentation.mjs";
import { W3cV2Holder, W3cV2HolderOptions } from "./W3cV2Holder.mjs";
import { W3cV2JsonPresentation } from "./W3cV2JsonPresentation.mjs";
//#region src/modules/vc/models/presentation/W3cV2Presentation.d.ts
export type W3cV2PresentationCredentialEntry = W3cV2EnvelopedVerifiableCredential | W3cV2EnvelopedVerifiablePresentation | W3cV2DataIntegrityVerifiableCredential | W3cV2DataIntegrityVerifiablePresentation;
export type W3cV2PresentationCredentialEntryOptions = W3cV2EnvelopedVerifiableCredentialOptions | W3cV2EnvelopedVerifiablePresentationOptions | W3cV2DataIntegritySecuredCredential | W3cV2DataIntegritySecuredPresentation | W3cV2PresentationCredentialEntry;
export interface W3cV2PresentationOptions {
  id?: string;
  context?: Array<string | JsonObject>;
  type?: SingleOrArray<string>;
  verifiableCredential?: SingleOrArray<W3cV2PresentationCredentialEntryOptions>;
  holder?: string | W3cV2HolderOptions;
}
export declare class W3cV2Presentation {
  constructor(options: W3cV2PresentationOptions);
  context: Array<string | JsonObject>;
  id?: string;
  type: SingleOrArray<string>;
  holder?: string | W3cV2Holder;
  verifiableCredential?: SingleOrArray<W3cV2PresentationCredentialEntry>;
  vc?: never;
  vp?: never;
  get holderId(): string | undefined;
  toJSON(): W3cV2JsonPresentation;
}
export declare function isEmbeddedDataIntegrityPresentationEntry(value: unknown): value is W3cV2DataIntegritySecuredPresentation;
export declare function W3cV2PresentationCredentialEntryTransformer(): PropertyDecorator;
//#endregion
//# sourceMappingURL=W3cV2Presentation.d.mts.map