import { W3cDataIntegrityProofSetSecuredDocument, W3cDataIntegritySecuredDocument, W3cDataIntegritySingleProofSecuredDocument } from "./W3cDataIntegrityProof.mjs";
import { W3cDataIntegrityCreateFailure, W3cDataIntegrityCreateSuccess, W3cDataIntegrityVerifyFailure, W3cDataIntegrityVerifySuccess } from "./W3cDataIntegrityError.mjs";
import { W3cDataIntegrityCryptosuiteRegistry } from "./W3cDataIntegrityCryptosuiteRegistry.mjs";
import { W3cDataIntegrityCreateProofOptions, W3cDataIntegrityProofService, W3cDataIntegrityVerifyProofDocumentOptions, W3cDataIntegrityVerifyProofOptions } from "./W3cDataIntegrityProofService.mjs";
import { PublicJwk, SupportedPublicJwkClass } from "../kms/jwk/PublicJwk.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";
//#region src/modules/w3c-di/W3cDataIntegrityApi.d.ts
export declare class W3cDataIntegrityApi {
  private agentContext;
  private dataIntegrityProofService;
  private dataIntegrityCryptosuiteRegistry;
  constructor(agentContext: AgentContext, dataIntegrityProofService: W3cDataIntegrityProofService, dataIntegrityCryptosuiteRegistry: W3cDataIntegrityCryptosuiteRegistry);
  createProof(options: W3cDataIntegrityCreateProofOptions): Promise<W3cDataIntegrityCreateSuccess | W3cDataIntegrityCreateFailure>;
  createProofOrThrow(options: W3cDataIntegrityCreateProofOptions): Promise<W3cDataIntegrityCreateSuccess>;
  verifyProof(securedDocument: W3cDataIntegritySingleProofSecuredDocument, options?: W3cDataIntegrityVerifyProofOptions): Promise<W3cDataIntegrityVerifySuccess | W3cDataIntegrityVerifyFailure>;
  verifyProofSetAndChain(securedDocument: W3cDataIntegrityProofSetSecuredDocument, options?: W3cDataIntegrityVerifyProofOptions): Promise<W3cDataIntegrityVerifySuccess | W3cDataIntegrityVerifyFailure>;
  verifySecuredDocument(securedDocument: W3cDataIntegritySecuredDocument, options?: W3cDataIntegrityVerifyProofOptions): Promise<W3cDataIntegrityVerifySuccess | W3cDataIntegrityVerifyFailure>;
  verifySecuredDocumentOrThrow(securedDocument: W3cDataIntegritySecuredDocument, options?: W3cDataIntegrityVerifyProofOptions): Promise<W3cDataIntegrityVerifySuccess>;
  verifyProofDocument(options: W3cDataIntegrityVerifyProofDocumentOptions): Promise<W3cDataIntegrityVerifySuccess | W3cDataIntegrityVerifyFailure>;
  /**
   * The identifiers of the registered Data Integrity cryptosuites, in registration order.
   *
   * @param publicJwkType when provided, only the cryptosuites that can create and verify proofs
   * with this key type are returned.
   */
  getSupportedCryptosuites(publicJwkType?: SupportedPublicJwkClass | PublicJwk): string[];
}
//#endregion
//# sourceMappingURL=W3cDataIntegrityApi.d.mts.map