import "../../error/index.mjs";
import { W3cDataIntegrityCryptosuiteProof, W3cDataIntegrityUnsecuredDocument } from "./W3cDataIntegrityProof.mjs";
//#region src/modules/w3c-di/W3cDataIntegrityError.d.ts
export declare enum W3cDataIntegrityProcessingErrorCode {
  ParsingError = "https://www.w3.org/ns/credentials#PARSING_ERROR",
  ProofGenerationError = "https://w3id.org/security#PROOF_GENERATION_ERROR",
  ProofVerificationError = "https://w3id.org/security#PROOF_VERIFICATION_ERROR",
  ProofTransformationError = "https://w3id.org/security#PROOF_TRANSFORMATION_ERROR",
  InvalidDomainError = "https://w3id.org/security#INVALID_DOMAIN_ERROR",
  InvalidChallengeError = "https://w3id.org/security#INVALID_CHALLENGE_ERROR"
}
export interface W3cDataIntegrityProcessingIssue {
  type: W3cDataIntegrityProcessingErrorCode;
  title: string;
  detail?: string;
}
export type W3cDataIntegrityIssueList = [W3cDataIntegrityProcessingIssue, ...W3cDataIntegrityProcessingIssue[]];
export interface W3cDataIntegrityCreateSuccess {
  created: true;
  proof: W3cDataIntegrityCryptosuiteProof;
}
export interface W3cDataIntegrityCreateFailure {
  created: false;
  proof: null;
  errors: W3cDataIntegrityIssueList;
}
export type W3cDataIntegrityCreateResult = W3cDataIntegrityCreateSuccess | W3cDataIntegrityCreateFailure;
export type W3cDataIntegrityVerifySuccess = {
  verified: true;
  verifiedDocument: W3cDataIntegrityUnsecuredDocument;
  mediaType: string | null;
};
export type W3cDataIntegrityVerifyFailure = {
  verified: false;
  verifiedDocument: null;
  mediaType: null;
  errors: W3cDataIntegrityIssueList;
};
export type W3cDataIntegrityVerifyResult = W3cDataIntegrityVerifySuccess | W3cDataIntegrityVerifyFailure;
//#endregion
//# sourceMappingURL=W3cDataIntegrityError.d.mts.map