import { Claim, ClaimProof, EncryptedClaimProof, SignedClaim } from '../types'; /** * Encrypts data using recipient's public key and sender's private key. * @param publicKey - Recipient public key in raw (un-hexed) form. * @param privateKey - Sender's private key in raw (un-hexed) form. * @param data - claim proof to encrypt */ export declare function encryptClaimProof(publicKey: Uint8Array, privateKey: Uint8Array, data: ClaimProof): Uint8Array; /** * Call to verify that the claims are proven by the encrypted proofs * @param claims the claims to verify * @param encryptedProofs encrypted proofs of the claims * @param privateKey private part of the communication key, must have been used * to encrypt the "encryptedProofs" */ export declare function verifyEncryptedClaims(claims: Claim[], encryptedProofs: EncryptedClaimProof[], privateKey: Uint8Array): { [id: string]: ClaimProof; }; /** * Asserts that the claim is signed by the expected witnesses * @param claim * @param expectedWitnessAddresses */ export declare function assertValidSignedClaim(claim: SignedClaim, expectedWitnessAddresses: string[]): void; /** recovers the addresses of those that signed the claim */ export declare function recoverSignersOfSignedClaim({ claim, signatures }: SignedClaim): string[];