import type { Address } from 'viem'; import { ViemClient } from '../viem.js'; /** * Verifies covalidator signatures for a plaintext DecryptionAttestation * by calling `isValidDecryptionAttestation` on the IncoVerifier contract. * * This delegates all verification logic (EIP-712 digest computation, * ECDSA recovery, signer authorization, threshold check) to the contract, * ensuring exact parity with on-chain verification. * * @param handle - The handle hex string (bytes32) * @param rawValueBytes - The raw plaintext value bytes (will be left-padded to 32 bytes) * @param signatures - The covalidator ECDSA signatures to verify * @param executorAddress - The Lightning contract address (executor) * @param client - A viem client capable of reading contract state * @throws If the contract returns false (insufficient valid signatures) */ export declare function verifyPlaintextAttestationSignatures(handle: string, rawValueBytes: Uint8Array, signatures: Uint8Array[], executorAddress: Address, client: ViemClient): Promise; /** * Verifies covalidator envelope signatures for reencryption attestations * by calling `isValidReencryptionAttestation` on the IncoVerifier contract. * * Each covalidator signs over its own unique (userCiphertext, handle, encryptedSignature) * tuple, so all three per-covalidator arrays must be aligned by index and sorted * by signer address in ascending order. * * @param handle - The handle hex string (bytes32) * @param userCiphertexts - Per-covalidator ciphertexts (sorted by signer address) * @param encryptedSignatures - Per-covalidator encrypted inner signatures (sorted by signer address) * @param envelopeSignatures - Per-covalidator envelope signatures (sorted by signer address) * @param executorAddress - The Lightning contract address (executor) * @param client - A viem client capable of reading contract state * @throws If the contract returns false (insufficient valid signatures) */ export declare function verifyReencryptionAttestationSignatures(handle: string, userCiphertexts: Uint8Array[], encryptedSignatures: Uint8Array[], envelopeSignatures: Uint8Array[], executorAddress: Address, client: ViemClient): Promise;