import { type ContractRunner } from "ethers";
import type { ITally, ITallyInterface } from "../../../contracts/interfaces/ITally";
export declare class ITally__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256[]";
                readonly name: "voteOptionIndices";
                readonly type: "uint256[]";
            }, {
                readonly internalType: "uint256[]";
                readonly name: "tallyResults";
                readonly type: "uint256[]";
            }, {
                readonly internalType: "uint256[][][]";
                readonly name: "tallyResultProofs";
                readonly type: "uint256[][][]";
            }, {
                readonly internalType: "uint256";
                readonly name: "totalSpent";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "totalSpentSalt";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "tallyResultSalt";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "newResultsCommitment";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "spentVoiceCreditsHash";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "perVOSpentVoiceCreditsHash";
                readonly type: "uint256";
            }];
            readonly internalType: "struct ITally.AddTallyResultsArgs";
            readonly name: "args";
            readonly type: "tuple";
        }];
        readonly name: "addTallyResults";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_batchStartIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_newTallyCommitment";
            readonly type: "uint256";
        }];
        readonly name: "getPublicCircuitInputs";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "publicInputs";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "index";
            readonly type: "uint256";
        }];
        readonly name: "getTallyResults";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "value";
                readonly type: "uint256";
            }, {
                readonly internalType: "bool";
                readonly name: "isSet";
                readonly type: "bool";
            }];
            readonly internalType: "struct ITally.TallyResult";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isTallied";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "tallied";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "sbCommitment";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "tallyBatchNum";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "tallyCommitment";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_newTallyCommitment";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[8]";
            readonly name: "_proof";
            readonly type: "uint256[8]";
        }];
        readonly name: "tallyVotes";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalSpent";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalTallyResults";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "updateSbCommitment";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_voteOptionIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_spent";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[][]";
            readonly name: "_spentProof";
            readonly type: "uint256[][]";
        }, {
            readonly internalType: "uint256";
            readonly name: "_spentSalt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "_voteOptionTreeDepth";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_spentVoiceCreditsHash";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_resultCommitment";
            readonly type: "uint256";
        }];
        readonly name: "verifyPerVoteOptionSpentVoiceCredits";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "isValid";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_totalSpent";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_totalSpentSalt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_resultCommitment";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_perVoteOptionSpentVoiceCreditsHash";
            readonly type: "uint256";
        }];
        readonly name: "verifySpentVoiceCredits";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "isValid";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_batchStartIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_newTallyCommitment";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[8]";
            readonly name: "_proof";
            readonly type: "uint256[8]";
        }];
        readonly name: "verifyTallyProof";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "isValid";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_voteOptionIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_tallyResult";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[][]";
            readonly name: "_tallyResultProof";
            readonly type: "uint256[][]";
        }, {
            readonly internalType: "uint256";
            readonly name: "_tallyResultSalt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "_voteOptionTreeDepth";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "_spentVoiceCreditsHash";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_perVoteOptionSpentVoiceCreditsHash";
            readonly type: "uint256";
        }];
        readonly name: "verifyTallyResult";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "isValid";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): ITallyInterface;
    static connect(address: string, runner?: ContractRunner | null): ITally;
}
//# sourceMappingURL=ITally__factory.d.ts.map