import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common";
export declare namespace DomainObjs {
    type MessageStruct = {
        data: BigNumberish[];
    };
    type MessageStructOutput = [data: bigint[]] & {
        data: bigint[];
    };
    type PublicKeyStruct = {
        x: BigNumberish;
        y: BigNumberish;
    };
    type PublicKeyStructOutput = [x: bigint, y: bigint] & {
        x: bigint;
        y: bigint;
    };
    type StateLeafStruct = {
        publicKey: DomainObjs.PublicKeyStruct;
        voiceCreditBalance: BigNumberish;
    };
    type StateLeafStructOutput = [
        publicKey: DomainObjs.PublicKeyStructOutput,
        voiceCreditBalance: bigint
    ] & {
        publicKey: DomainObjs.PublicKeyStructOutput;
        voiceCreditBalance: bigint;
    };
}
export interface PollInterface extends Interface {
    getFunction(nameOrSignature: "MESSAGE_DATA_LENGTH" | "actualStateTreeDepth" | "batchHashes" | "chainHash" | "coordinatorPublicKey" | "coordinatorPublicKeyHash" | "currentSbCommitment" | "emptyBallotRoot" | "endDate" | "extContracts" | "getAppendedBytes" | "getBatchHashes" | "getMaciContract" | "getPublicJoinedCircuitInputs" | "getPublicJoiningCircuitInputs" | "getStartAndEndDate" | "getStateIndex" | "hash2" | "hash3" | "hash4" | "hash5" | "hashLeftRight" | "hashMessageAndPublicKey" | "hashStateLeaf" | "initialize" | "initialized" | "ipfsHashes" | "isBatchHashesPadded" | "joinPoll" | "maxSignups" | "mergeState" | "mergedStateRoot" | "messageBatchSize" | "numMessages" | "padAndHashMessage" | "padLastBatch" | "pollId" | "pollNullifiers" | "pollStateRootsOnJoin" | "pollStateTree" | "publishMessage" | "publishMessageBatch" | "relayMessagesBatch" | "relayers" | "sha256Hash" | "startDate" | "stateMerged" | "totalSignups" | "totalSignupsAndMessages" | "treeDepths" | "verifyJoinedPollProof" | "verifyJoiningPollProof" | "voteOptions"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "ChainHashUpdated" | "IpfsHashAdded" | "MergeState" | "PollJoined" | "PublishMessage"): EventFragment;
    encodeFunctionData(functionFragment: "MESSAGE_DATA_LENGTH", values?: undefined): string;
    encodeFunctionData(functionFragment: "actualStateTreeDepth", values?: undefined): string;
    encodeFunctionData(functionFragment: "batchHashes", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "chainHash", values?: undefined): string;
    encodeFunctionData(functionFragment: "coordinatorPublicKey", values?: undefined): string;
    encodeFunctionData(functionFragment: "coordinatorPublicKeyHash", values?: undefined): string;
    encodeFunctionData(functionFragment: "currentSbCommitment", values?: undefined): string;
    encodeFunctionData(functionFragment: "emptyBallotRoot", values?: undefined): string;
    encodeFunctionData(functionFragment: "endDate", values?: undefined): string;
    encodeFunctionData(functionFragment: "extContracts", values?: undefined): string;
    encodeFunctionData(functionFragment: "getAppendedBytes", values?: undefined): string;
    encodeFunctionData(functionFragment: "getBatchHashes", values?: undefined): string;
    encodeFunctionData(functionFragment: "getMaciContract", values?: undefined): string;
    encodeFunctionData(functionFragment: "getPublicJoinedCircuitInputs", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getPublicJoiningCircuitInputs", values: [BigNumberish, BigNumberish, DomainObjs.PublicKeyStruct]): string;
    encodeFunctionData(functionFragment: "getStartAndEndDate", values?: undefined): string;
    encodeFunctionData(functionFragment: "getStateIndex", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "hash2", values: [[BigNumberish, BigNumberish]]): string;
    encodeFunctionData(functionFragment: "hash3", values: [[BigNumberish, BigNumberish, BigNumberish]]): string;
    encodeFunctionData(functionFragment: "hash4", values: [[BigNumberish, BigNumberish, BigNumberish, BigNumberish]]): string;
    encodeFunctionData(functionFragment: "hash5", values: [
        [
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish
        ]
    ]): string;
    encodeFunctionData(functionFragment: "hashLeftRight", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "hashMessageAndPublicKey", values: [DomainObjs.MessageStruct, DomainObjs.PublicKeyStruct]): string;
    encodeFunctionData(functionFragment: "hashStateLeaf", values: [DomainObjs.StateLeafStruct]): string;
    encodeFunctionData(functionFragment: "initialize", values?: undefined): string;
    encodeFunctionData(functionFragment: "initialized", values?: undefined): string;
    encodeFunctionData(functionFragment: "ipfsHashes", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "isBatchHashesPadded", values?: undefined): string;
    encodeFunctionData(functionFragment: "joinPoll", values: [
        BigNumberish,
        DomainObjs.PublicKeyStruct,
        BigNumberish,
        BigNumberish[],
        BytesLike,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: "maxSignups", values?: undefined): string;
    encodeFunctionData(functionFragment: "mergeState", values?: undefined): string;
    encodeFunctionData(functionFragment: "mergedStateRoot", values?: undefined): string;
    encodeFunctionData(functionFragment: "messageBatchSize", values?: undefined): string;
    encodeFunctionData(functionFragment: "numMessages", values?: undefined): string;
    encodeFunctionData(functionFragment: "padAndHashMessage", values: [[BigNumberish, BigNumberish]]): string;
    encodeFunctionData(functionFragment: "padLastBatch", values?: undefined): string;
    encodeFunctionData(functionFragment: "pollId", values?: undefined): string;
    encodeFunctionData(functionFragment: "pollNullifiers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "pollStateRootsOnJoin", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "pollStateTree", values?: undefined): string;
    encodeFunctionData(functionFragment: "publishMessage", values: [DomainObjs.MessageStruct, DomainObjs.PublicKeyStruct]): string;
    encodeFunctionData(functionFragment: "publishMessageBatch", values: [DomainObjs.MessageStruct[], DomainObjs.PublicKeyStruct[]]): string;
    encodeFunctionData(functionFragment: "relayMessagesBatch", values: [BigNumberish[], BytesLike]): string;
    encodeFunctionData(functionFragment: "relayers", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "sha256Hash", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "startDate", values?: undefined): string;
    encodeFunctionData(functionFragment: "stateMerged", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSignups", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSignupsAndMessages", values?: undefined): string;
    encodeFunctionData(functionFragment: "treeDepths", values?: undefined): string;
    encodeFunctionData(functionFragment: "verifyJoinedPollProof", values: [BigNumberish, BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "verifyJoiningPollProof", values: [
        BigNumberish,
        BigNumberish,
        DomainObjs.PublicKeyStruct,
        BigNumberish[]
    ]): string;
    encodeFunctionData(functionFragment: "voteOptions", values?: undefined): string;
    decodeFunctionResult(functionFragment: "MESSAGE_DATA_LENGTH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "actualStateTreeDepth", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "batchHashes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "chainHash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "coordinatorPublicKey", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "coordinatorPublicKeyHash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "currentSbCommitment", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emptyBallotRoot", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "endDate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "extContracts", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAppendedBytes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getBatchHashes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getMaciContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getPublicJoinedCircuitInputs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getPublicJoiningCircuitInputs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getStartAndEndDate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getStateIndex", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hash2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hash3", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hash4", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hash5", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hashMessageAndPublicKey", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hashStateLeaf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialized", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ipfsHashes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isBatchHashesPadded", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "joinPoll", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "maxSignups", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mergeState", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mergedStateRoot", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "messageBatchSize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "numMessages", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "padAndHashMessage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "padLastBatch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pollId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pollNullifiers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pollStateRootsOnJoin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pollStateTree", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "publishMessage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "publishMessageBatch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "relayMessagesBatch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "relayers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sha256Hash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "startDate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stateMerged", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSignups", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSignupsAndMessages", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "treeDepths", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "verifyJoinedPollProof", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "verifyJoiningPollProof", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "voteOptions", data: BytesLike): Result;
}
export declare namespace ChainHashUpdatedEvent {
    type InputTuple = [_chainHash: BigNumberish];
    type OutputTuple = [_chainHash: bigint];
    interface OutputObject {
        _chainHash: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace IpfsHashAddedEvent {
    type InputTuple = [_ipfsHash: BytesLike];
    type OutputTuple = [_ipfsHash: string];
    interface OutputObject {
        _ipfsHash: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace MergeStateEvent {
    type InputTuple = [
        _stateRoot: BigNumberish,
        _totalSignups: BigNumberish
    ];
    type OutputTuple = [_stateRoot: bigint, _totalSignups: bigint];
    interface OutputObject {
        _stateRoot: bigint;
        _totalSignups: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PollJoinedEvent {
    type InputTuple = [
        _pollPublicKeyX: BigNumberish,
        _pollPublicKeyY: BigNumberish,
        _voiceCreditBalance: BigNumberish,
        _nullifier: BigNumberish,
        _pollStateIndex: BigNumberish
    ];
    type OutputTuple = [
        _pollPublicKeyX: bigint,
        _pollPublicKeyY: bigint,
        _voiceCreditBalance: bigint,
        _nullifier: bigint,
        _pollStateIndex: bigint
    ];
    interface OutputObject {
        _pollPublicKeyX: bigint;
        _pollPublicKeyY: bigint;
        _voiceCreditBalance: bigint;
        _nullifier: bigint;
        _pollStateIndex: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PublishMessageEvent {
    type InputTuple = [
        _message: DomainObjs.MessageStruct,
        _encryptionPublicKey: DomainObjs.PublicKeyStruct
    ];
    type OutputTuple = [
        _message: DomainObjs.MessageStructOutput,
        _encryptionPublicKey: DomainObjs.PublicKeyStructOutput
    ];
    interface OutputObject {
        _message: DomainObjs.MessageStructOutput;
        _encryptionPublicKey: DomainObjs.PublicKeyStructOutput;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface Poll extends BaseContract {
    connect(runner?: ContractRunner | null): Poll;
    waitForDeployment(): Promise<this>;
    interface: PollInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    MESSAGE_DATA_LENGTH: TypedContractMethod<[], [bigint], "view">;
    actualStateTreeDepth: TypedContractMethod<[], [bigint], "view">;
    batchHashes: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    chainHash: TypedContractMethod<[], [bigint], "view">;
    coordinatorPublicKey: TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            x: bigint;
            y: bigint;
        }
    ], "view">;
    coordinatorPublicKeyHash: TypedContractMethod<[], [bigint], "view">;
    currentSbCommitment: TypedContractMethod<[], [bigint], "view">;
    emptyBallotRoot: TypedContractMethod<[], [bigint], "view">;
    endDate: TypedContractMethod<[], [bigint], "view">;
    extContracts: TypedContractMethod<[
    ], [
        [
            string,
            string,
            string,
            string,
            string
        ] & {
            maci: string;
            verifier: string;
            verifyingKeysRegistry: string;
            policy: string;
            initialVoiceCreditProxy: string;
        }
    ], "view">;
    getAppendedBytes: TypedContractMethod<[], [string], "view">;
    getBatchHashes: TypedContractMethod<[], [bigint[]], "view">;
    getMaciContract: TypedContractMethod<[], [string], "view">;
    getPublicJoinedCircuitInputs: TypedContractMethod<[
        _index: BigNumberish
    ], [
        bigint[]
    ], "view">;
    getPublicJoiningCircuitInputs: TypedContractMethod<[
        _nullifier: BigNumberish,
        _index: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct
    ], [
        bigint[]
    ], "view">;
    getStartAndEndDate: TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            pollStartDate: bigint;
            pollEndDate: bigint;
        }
    ], "view">;
    getStateIndex: TypedContractMethod<[element: BigNumberish], [bigint], "view">;
    hash2: TypedContractMethod<[
        array: [BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    hash3: TypedContractMethod<[
        array: [BigNumberish, BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    hash4: TypedContractMethod<[
        array: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    hash5: TypedContractMethod<[
        array: [
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish
        ]
    ], [
        bigint
    ], "view">;
    hashLeftRight: TypedContractMethod<[
        left: BigNumberish,
        right: BigNumberish
    ], [
        bigint
    ], "view">;
    hashMessageAndPublicKey: TypedContractMethod<[
        _message: DomainObjs.MessageStruct,
        _encryptionPublicKey: DomainObjs.PublicKeyStruct
    ], [
        bigint
    ], "view">;
    hashStateLeaf: TypedContractMethod<[
        _stateLeaf: DomainObjs.StateLeafStruct
    ], [
        bigint
    ], "view">;
    initialize: TypedContractMethod<[], [void], "nonpayable">;
    initialized: TypedContractMethod<[], [boolean], "view">;
    ipfsHashes: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    isBatchHashesPadded: TypedContractMethod<[], [boolean], "view">;
    joinPoll: TypedContractMethod<[
        _nullifier: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct,
        _stateRootIndex: BigNumberish,
        _proof: BigNumberish[],
        _signUpPolicyData: BytesLike,
        _initialVoiceCreditProxyData: BytesLike
    ], [
        void
    ], "nonpayable">;
    maxSignups: TypedContractMethod<[], [bigint], "view">;
    mergeState: TypedContractMethod<[], [void], "nonpayable">;
    mergedStateRoot: TypedContractMethod<[], [bigint], "view">;
    messageBatchSize: TypedContractMethod<[], [bigint], "view">;
    numMessages: TypedContractMethod<[], [bigint], "view">;
    padAndHashMessage: TypedContractMethod<[
        dataToPad: [BigNumberish, BigNumberish]
    ], [
        [
            DomainObjs.MessageStructOutput,
            DomainObjs.PublicKeyStructOutput,
            bigint
        ] & {
            message: DomainObjs.MessageStructOutput;
            padKey: DomainObjs.PublicKeyStructOutput;
            msgHash: bigint;
        }
    ], "view">;
    padLastBatch: TypedContractMethod<[], [void], "nonpayable">;
    pollId: TypedContractMethod<[], [bigint], "view">;
    pollNullifiers: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
    pollStateRootsOnJoin: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    pollStateTree: TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            maxIndex: bigint;
            numberOfLeaves: bigint;
        }
    ], "view">;
    publishMessage: TypedContractMethod<[
        _message: DomainObjs.MessageStruct,
        _encryptionPublicKey: DomainObjs.PublicKeyStruct
    ], [
        void
    ], "nonpayable">;
    publishMessageBatch: TypedContractMethod<[
        _messages: DomainObjs.MessageStruct[],
        _encryptionPublicKeys: DomainObjs.PublicKeyStruct[]
    ], [
        void
    ], "nonpayable">;
    relayMessagesBatch: TypedContractMethod<[
        _messageHashes: BigNumberish[],
        _ipfsHash: BytesLike
    ], [
        void
    ], "nonpayable">;
    relayers: TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
    sha256Hash: TypedContractMethod<[array: BigNumberish[]], [bigint], "view">;
    startDate: TypedContractMethod<[], [bigint], "view">;
    stateMerged: TypedContractMethod<[], [boolean], "view">;
    totalSignups: TypedContractMethod<[], [bigint], "view">;
    totalSignupsAndMessages: TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            numSUps: bigint;
            numMsgs: bigint;
        }
    ], "view">;
    treeDepths: TypedContractMethod<[
    ], [
        [
            bigint,
            bigint,
            bigint
        ] & {
            tallyProcessingStateTreeDepth: bigint;
            voteOptionTreeDepth: bigint;
            stateTreeDepth: bigint;
        }
    ], "view">;
    verifyJoinedPollProof: TypedContractMethod<[
        _index: BigNumberish,
        _proof: BigNumberish[]
    ], [
        boolean
    ], "view">;
    verifyJoiningPollProof: TypedContractMethod<[
        _nullifier: BigNumberish,
        _index: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct,
        _proof: BigNumberish[]
    ], [
        boolean
    ], "view">;
    voteOptions: TypedContractMethod<[], [bigint], "view">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "MESSAGE_DATA_LENGTH"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "actualStateTreeDepth"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "batchHashes"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "chainHash"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "coordinatorPublicKey"): TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            x: bigint;
            y: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "coordinatorPublicKeyHash"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "currentSbCommitment"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "emptyBallotRoot"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "endDate"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "extContracts"): TypedContractMethod<[
    ], [
        [
            string,
            string,
            string,
            string,
            string
        ] & {
            maci: string;
            verifier: string;
            verifyingKeysRegistry: string;
            policy: string;
            initialVoiceCreditProxy: string;
        }
    ], "view">;
    getFunction(nameOrSignature: "getAppendedBytes"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "getBatchHashes"): TypedContractMethod<[], [bigint[]], "view">;
    getFunction(nameOrSignature: "getMaciContract"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "getPublicJoinedCircuitInputs"): TypedContractMethod<[_index: BigNumberish], [bigint[]], "view">;
    getFunction(nameOrSignature: "getPublicJoiningCircuitInputs"): TypedContractMethod<[
        _nullifier: BigNumberish,
        _index: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct
    ], [
        bigint[]
    ], "view">;
    getFunction(nameOrSignature: "getStartAndEndDate"): TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            pollStartDate: bigint;
            pollEndDate: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "getStateIndex"): TypedContractMethod<[element: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "hash2"): TypedContractMethod<[
        array: [BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hash3"): TypedContractMethod<[
        array: [BigNumberish, BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hash4"): TypedContractMethod<[
        array: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hash5"): TypedContractMethod<[
        array: [
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish
        ]
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[
        left: BigNumberish,
        right: BigNumberish
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hashMessageAndPublicKey"): TypedContractMethod<[
        _message: DomainObjs.MessageStruct,
        _encryptionPublicKey: DomainObjs.PublicKeyStruct
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hashStateLeaf"): TypedContractMethod<[
        _stateLeaf: DomainObjs.StateLeafStruct
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "initialize"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "initialized"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "ipfsHashes"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "isBatchHashesPadded"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "joinPoll"): TypedContractMethod<[
        _nullifier: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct,
        _stateRootIndex: BigNumberish,
        _proof: BigNumberish[],
        _signUpPolicyData: BytesLike,
        _initialVoiceCreditProxyData: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "maxSignups"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "mergeState"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "mergedStateRoot"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "messageBatchSize"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "numMessages"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "padAndHashMessage"): TypedContractMethod<[
        dataToPad: [BigNumberish, BigNumberish]
    ], [
        [
            DomainObjs.MessageStructOutput,
            DomainObjs.PublicKeyStructOutput,
            bigint
        ] & {
            message: DomainObjs.MessageStructOutput;
            padKey: DomainObjs.PublicKeyStructOutput;
            msgHash: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "padLastBatch"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "pollId"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "pollNullifiers"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
    getFunction(nameOrSignature: "pollStateRootsOnJoin"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "pollStateTree"): TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            maxIndex: bigint;
            numberOfLeaves: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "publishMessage"): TypedContractMethod<[
        _message: DomainObjs.MessageStruct,
        _encryptionPublicKey: DomainObjs.PublicKeyStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "publishMessageBatch"): TypedContractMethod<[
        _messages: DomainObjs.MessageStruct[],
        _encryptionPublicKeys: DomainObjs.PublicKeyStruct[]
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "relayMessagesBatch"): TypedContractMethod<[
        _messageHashes: BigNumberish[],
        _ipfsHash: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "relayers"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "sha256Hash"): TypedContractMethod<[array: BigNumberish[]], [bigint], "view">;
    getFunction(nameOrSignature: "startDate"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "stateMerged"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "totalSignups"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "totalSignupsAndMessages"): TypedContractMethod<[
    ], [
        [bigint, bigint] & {
            numSUps: bigint;
            numMsgs: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "treeDepths"): TypedContractMethod<[
    ], [
        [
            bigint,
            bigint,
            bigint
        ] & {
            tallyProcessingStateTreeDepth: bigint;
            voteOptionTreeDepth: bigint;
            stateTreeDepth: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "verifyJoinedPollProof"): TypedContractMethod<[
        _index: BigNumberish,
        _proof: BigNumberish[]
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "verifyJoiningPollProof"): TypedContractMethod<[
        _nullifier: BigNumberish,
        _index: BigNumberish,
        _publicKey: DomainObjs.PublicKeyStruct,
        _proof: BigNumberish[]
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "voteOptions"): TypedContractMethod<[], [bigint], "view">;
    getEvent(key: "ChainHashUpdated"): TypedContractEvent<ChainHashUpdatedEvent.InputTuple, ChainHashUpdatedEvent.OutputTuple, ChainHashUpdatedEvent.OutputObject>;
    getEvent(key: "IpfsHashAdded"): TypedContractEvent<IpfsHashAddedEvent.InputTuple, IpfsHashAddedEvent.OutputTuple, IpfsHashAddedEvent.OutputObject>;
    getEvent(key: "MergeState"): TypedContractEvent<MergeStateEvent.InputTuple, MergeStateEvent.OutputTuple, MergeStateEvent.OutputObject>;
    getEvent(key: "PollJoined"): TypedContractEvent<PollJoinedEvent.InputTuple, PollJoinedEvent.OutputTuple, PollJoinedEvent.OutputObject>;
    getEvent(key: "PublishMessage"): TypedContractEvent<PublishMessageEvent.InputTuple, PublishMessageEvent.OutputTuple, PublishMessageEvent.OutputObject>;
    filters: {
        "ChainHashUpdated(uint256)": TypedContractEvent<ChainHashUpdatedEvent.InputTuple, ChainHashUpdatedEvent.OutputTuple, ChainHashUpdatedEvent.OutputObject>;
        ChainHashUpdated: TypedContractEvent<ChainHashUpdatedEvent.InputTuple, ChainHashUpdatedEvent.OutputTuple, ChainHashUpdatedEvent.OutputObject>;
        "IpfsHashAdded(bytes32)": TypedContractEvent<IpfsHashAddedEvent.InputTuple, IpfsHashAddedEvent.OutputTuple, IpfsHashAddedEvent.OutputObject>;
        IpfsHashAdded: TypedContractEvent<IpfsHashAddedEvent.InputTuple, IpfsHashAddedEvent.OutputTuple, IpfsHashAddedEvent.OutputObject>;
        "MergeState(uint256,uint256)": TypedContractEvent<MergeStateEvent.InputTuple, MergeStateEvent.OutputTuple, MergeStateEvent.OutputObject>;
        MergeState: TypedContractEvent<MergeStateEvent.InputTuple, MergeStateEvent.OutputTuple, MergeStateEvent.OutputObject>;
        "PollJoined(uint256,uint256,uint256,uint256,uint256)": TypedContractEvent<PollJoinedEvent.InputTuple, PollJoinedEvent.OutputTuple, PollJoinedEvent.OutputObject>;
        PollJoined: TypedContractEvent<PollJoinedEvent.InputTuple, PollJoinedEvent.OutputTuple, PollJoinedEvent.OutputObject>;
        "PublishMessage(tuple,tuple)": TypedContractEvent<PublishMessageEvent.InputTuple, PublishMessageEvent.OutputTuple, PublishMessageEvent.OutputObject>;
        PublishMessage: TypedContractEvent<PublishMessageEvent.InputTuple, PublishMessageEvent.OutputTuple, PublishMessageEvent.OutputObject>;
    };
}
//# sourceMappingURL=Poll.d.ts.map