import { type ContractRunner } from "ethers";
import type { IMACI, IMACIInterface } from "../../../contracts/interfaces/IMACI";
export declare class IMACI__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "startDate";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "endDate";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "tallyProcessingStateTreeDepth";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "voteOptionTreeDepth";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "stateTreeDepth";
                    readonly type: "uint8";
                }];
                readonly internalType: "struct Params.TreeDepths";
                readonly name: "treeDepths";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint8";
                readonly name: "messageBatchSize";
                readonly type: "uint8";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "x";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "y";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct DomainObjs.PublicKey";
                readonly name: "coordinatorPublicKey";
                readonly type: "tuple";
            }, {
                readonly internalType: "enum DomainObjs.Mode";
                readonly name: "mode";
                readonly type: "uint8";
            }, {
                readonly internalType: "address";
                readonly name: "policy";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "initialVoiceCreditProxy";
                readonly type: "address";
            }, {
                readonly internalType: "address[]";
                readonly name: "relayers";
                readonly type: "address[]";
            }, {
                readonly internalType: "uint256";
                readonly name: "voteOptions";
                readonly type: "uint256";
            }];
            readonly internalType: "struct IMACI.DeployPollArgs";
            readonly name: "_pollArgs";
            readonly type: "tuple";
        }];
        readonly name: "deployPoll";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "poll";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "messageProcessor";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "tally";
                readonly type: "address";
            }];
            readonly internalType: "struct IMACI.PollContracts";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_publicKeyHash";
            readonly type: "uint256";
        }];
        readonly name: "getStateIndex";
        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: "_index";
            readonly type: "uint256";
        }];
        readonly name: "getStateRootOnIndexedSignUp";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getStateTreeRoot";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "nextPollId";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "x";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "y";
                readonly type: "uint256";
            }];
            readonly internalType: "struct DomainObjs.PublicKey";
            readonly name: "_publicKey";
            readonly type: "tuple";
        }, {
            readonly internalType: "bytes";
            readonly name: "_signUpPolicyData";
            readonly type: "bytes";
        }];
        readonly name: "signUp";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "stateTreeDepth";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalSignups";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): IMACIInterface;
    static connect(address: string, runner?: ContractRunner | null): IMACI;
}
//# sourceMappingURL=IMACI__factory.d.ts.map