import { type IJsonLdNodeObject } from "@twin.org/data-json-ld"; import type { IJwk } from "@twin.org/web"; import type { IDataIntegrityProof } from "../models/IDataIntegrityProof.js"; import type { IProof } from "../models/IProof.js"; import type { IProofSignerVerifierAsync } from "../models/IProofSignerVerifierAsync.js"; /** * Helper methods for creating and verifying Data Integrity proofs with async signing callbacks. * @see https://www.w3.org/TR/vc-di-eddsa/#eddsa-jcs-2022 */ export declare class DataIntegrityProofAsyncSignerVerifier implements IProofSignerVerifierAsync { /** * Runtime name for the class. */ static readonly CLASS_NAME: string; /** * Create a new instance of DataIntegrityProofAsyncSignerVerifier. */ constructor(); /** * Create a proof with an async signing callback. * @param unsecuredDocument The data to create the proof for. * @param unsignedProof The proof options. * @param signCallback Async callback that signs data with a private key from secure storage. * @returns The created proof. */ createProofWithSigner(unsecuredDocument: IJsonLdNodeObject, unsignedProof: IDataIntegrityProof, signCallback: (data: Uint8Array, algorithm: string) => Promise): Promise; /** * Verify a proof for the given data. * @param securedDocument The credential to verify. * @param signedProof The proof to verify. * @param verifyKey The public key to verify the proof with. * @returns True if the credential was verified. */ verifyProof(securedDocument: IJsonLdNodeObject, signedProof: IDataIntegrityProof, verifyKey: IJwk): Promise; /** * Create a hash for the given data. * @param unsecuredDocument The data to create the proof for. * @param unsignedProof The unsigned proof. * @returns The created hash. */ createHash(unsecuredDocument: IJsonLdNodeObject, unsignedProof: IDataIntegrityProof): Promise; }