import type { Signer } from "ethers";
export type DkgFoldAttestation = {
    partyId: number;
    skAggCommit: string;
    esmAggCommit: string;
    signature: string;
};
export type DkgPartySlotBinding = {
    partyId: number;
    node: string;
};
/** Public inputs layout expected by `DkgFoldAttestationVerifier` for honest count `h`. */
export declare function encodeMockDkgProofForAttestation(pkCommitment: string, partyIds: number[], skCommits: string[], esmCommits: string[]): string;
/** Sign one EIP-712 fold-attestation tuple. */
export declare function signFoldAttestation(signer: Signer, chainId: bigint, verifyingContract: string, e3Id: number, partyId: number, skAggCommit: string, esmAggCommit: string): Promise<string>;
/**
 * Build mock proof + bundle payloads for `publishCommittee`/verifier tests.
 * Operators are sorted by address to match on-chain canonical `topNodes`.
 */
export declare function buildMockDkgAttestationFixtureData(operators: Signer[], e3Id: number, pkCommitment: string, signingVerifierAddress: string): Promise<{
    ordered: {
        op: Signer;
        addr: string;
    }[];
    proof: string;
    bundle: string;
    partyIds: number[];
    skCommits: string[];
    esmCommits: string[];
    attestations: DkgFoldAttestation[];
    bindings: DkgPartySlotBinding[];
}>;
/** Convenience helper for Interfold tests with a plaintext public key input. */
export declare function buildMockAggregationPublishArgs(operators: Signer[], e3Id: number, publicKey: string, signingVerifierAddress: string): Promise<{
    proof: string;
    bundle: string;
}>;
//# sourceMappingURL=dkgAttestation.d.ts.map