import type { Signer } from "ethers"; export declare const VOTE_TYPEHASH: string; /** * Helper to create signed committee attestation evidence for Lane A. * * Returns `abi.encode(uint256 proofType, address[] voters, bytes32[] dataHashes, * bytes evidence, uint256 deadline, bytes[] signatures)` with * voters sorted ascending by address. * * Each voter signs the EIP-712 `AccusationVote` struct against the * `EnclaveSlashing/1` domain anchored at `verifyingContract`. This binds the * attestation to a specific SlashingManager deployment on a specific chain, * eliminating the cross-chain / cross-contract replay class (H-10, M-24). * * @param voterSigners - Committee members signing the accusation. * @param e3Id - The E3 the accusation targets. * @param operator - The accused operator address. * @param verifyingContract - Address of the SlashingManager (EIP-712 domain). * @param proofType - Numeric proof type, mapped to a slash reason on-chain. * @param chainId - Chain ID for the EIP-712 domain. Defaults to 31337 (hardhat). * @param evidence - Evidence preimage bytes. All voters sign * `keccak256(evidence)` as `dataHash`. * @param deadline - Optional unix expiry. Defaults to MaxUint256. * @param dataHashOverride - Optional negative-test override for signed `dataHash`. */ export declare function signAndEncodeAttestation(voterSigners: Signer[], e3Id: number, operator: string, verifyingContract: string, proofType?: number, chainId?: number, evidence?: string, deadline?: bigint, dataHashOverride?: string): Promise; //# sourceMappingURL=attestation.d.ts.map