//#region src/modules/w3c-di/W3cDataIntegrityProof.d.ts
export type W3cDataIntegrityDomain = string | string[];
export type W3cDataIntegrityPreviousProofReference = string | string[];
export interface W3cDataIntegrityCryptosuiteProofOptions {
  id?: string;
  type: 'DataIntegrityProof';
  cryptosuite: string;
  proofPurpose: string;
  verificationMethod: string;
  created?: string;
  expires?: string;
  challenge?: string;
  domain?: W3cDataIntegrityDomain;
  nonce?: string;
  previousProof?: W3cDataIntegrityPreviousProofReference;
  '@context'?: unknown;
}
export interface W3cDataIntegrityCryptosuiteProof extends W3cDataIntegrityCryptosuiteProofOptions {
  proofValue: string;
}
export type W3cDataIntegrityUnsecuredDocument = Record<string, unknown>;
export type W3cDataIntegrityProofSet = W3cDataIntegrityCryptosuiteProof | W3cDataIntegrityCryptosuiteProof[];
export type W3cDataIntegritySingleProofSecuredDocument = W3cDataIntegrityUnsecuredDocument & {
  proof: W3cDataIntegrityCryptosuiteProof;
};
export type W3cDataIntegrityProofSetSecuredDocument = W3cDataIntegrityUnsecuredDocument & {
  proof: W3cDataIntegrityCryptosuiteProof[];
};
export type W3cDataIntegritySecuredDocument = W3cDataIntegrityUnsecuredDocument & {
  proof: W3cDataIntegrityProofSet;
};
//#endregion
//# sourceMappingURL=W3cDataIntegrityProof.d.mts.map