import { type IJsonLdNodeObject } from "@twin.org/data-json-ld"; import { type IJwk } from "@twin.org/web"; import type { IJsonWebSignature2020Proof } from "../models/IJsonWebSignature2020Proof.js"; import type { IProofSignerVerifier } from "../models/IProofSignerVerifier.js"; /** * Helper methods for creating and verifying JsonWebSignature2020 proofs. * @see https://w3c-ccg.github.io/lds-jws2020/ */ export declare class JsonWebSignature2020SignerVerifier implements IProofSignerVerifier { /** * Runtime name for the class. */ static readonly CLASS_NAME: string; /** * Create a proof for the given data. * @param unsecuredDocument The data to create the proof for. * @param unsignedProof The proof options. * @param signKey The key to sign the proof with. * @returns The created proof. */ createProof(unsecuredDocument: IJsonLdNodeObject, unsignedProof: IJsonWebSignature2020Proof, signKey: IJwk): 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: IJsonWebSignature2020Proof, 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: IJsonWebSignature2020Proof): Promise; }