import { DataIntegrityProof, DataIntegrityProofOptions } from "./DataIntegrityProof.js";
import { LinkedDataProof, LinkedDataProofOptions } from "./LinkedDataProof.js";
import { ClaimFormat } from "../../models/ClaimFormat.js";
import { W3cPresentation, W3cPresentationOptions } from "../../models/presentation/W3cPresentation.js";
import { SingleOrArray } from "../../../../types.js";

//#region src/modules/vc/data-integrity/models/W3cJsonLdVerifiablePresentation.d.ts

interface W3cJsonLdVerifiablePresentationOptions extends W3cPresentationOptions {
  proof: LinkedDataProofOptions | DataIntegrityProofOptions;
}
declare class W3cJsonLdVerifiablePresentation extends W3cPresentation {
  constructor(options: W3cJsonLdVerifiablePresentationOptions);
  proof: SingleOrArray<LinkedDataProof | DataIntegrityProof>;
  get proofTypes(): Array<string>;
  get dataIntegrityCryptosuites(): Array<string>;
  toJson(): Record<string, any>;
  /**
   * The {@link ClaimFormat} of the presentation. For JSON-LD credentials this is always `ldp_vp`.
   */
  get claimFormat(): ClaimFormat.LdpVp;
  /**
   * Get the encoded variant of the W3C Verifiable Presentation. For JSON-LD presentations this is
   * a JSON object.
   */
  get encoded(): Record<string, any>;
}
//#endregion
export { W3cJsonLdVerifiablePresentation, W3cJsonLdVerifiablePresentationOptions };
//# sourceMappingURL=W3cJsonLdVerifiablePresentation.d.ts.map