import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../../../../common";
import type { ERC20VotesChecker, ERC20VotesCheckerInterface } from "../../../../../../@excubiae/contracts/contracts/extensions/erc20votes/ERC20VotesChecker";
type ERC20VotesCheckerConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class ERC20VotesChecker__factory extends ContractFactory {
    constructor(...args: ERC20VotesCheckerConstructorParams);
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ERC20VotesChecker & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): ERC20VotesChecker__factory;
    static readonly bytecode = "0x6080604052348015600f57600080fd5b506104418061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b41a4b19146100ce578063e2b24085146100e3578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806342cde4e8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60025481565b6100cc610126565b005b6100d6610130565b60405161009b91906102ce565b61008f6100f1366004610334565b61013f565b60005461010e9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b61012e610154565b565b606061013a6101b4565b905090565b600061014c8484846101bf565b949350505050565b61015c61026d565b60006101666101b4565b905060008060008380602001905181019061018191906103bb565b600080546001600160a01b0390941661010002610100600160a81b03199094169390931790925560015560025550505050565b606061013a3061029f565b6000808054600154604051630748d63560e31b81526001600160a01b03888116600483015260248201929092526101009092041690633a46b1a890604401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906103f2565b90506002548111610262576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff16156102905760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102fc57602081860181015160408684010152016102df565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461033157600080fd5b50565b60008060006040848603121561034957600080fd5b83356103548161031c565b9250602084013567ffffffffffffffff81111561037057600080fd5b8401601f8101861361038157600080fd5b803567ffffffffffffffff81111561039857600080fd5b8660208284010111156103aa57600080fd5b939660209190910195509293505050565b6000806000606084860312156103d057600080fd5b83516103db8161031c565b602085015160409095015190969495509392505050565b60006020828403121561040457600080fd5b505191905056fea2646970667358221220a28a321e4aca83ad3c36204768725c7bcceb13a4c77a84f91311a3439919ea1364736f6c634300081c0033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "AlreadyInitialized";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BalanceTooLow";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "subject";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "evidence";
            readonly type: "bytes";
        }];
        readonly name: "check";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "checked";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAppendedBytes";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "appendedBytes";
            readonly type: "bytes";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "initialized";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "snapshotBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "threshold";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "token";
        readonly outputs: readonly [{
            readonly internalType: "contract IVotes";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): ERC20VotesCheckerInterface;
    static connect(address: string, runner?: ContractRunner | null): ERC20VotesChecker;
}
export {};
//# sourceMappingURL=ERC20VotesChecker__factory.d.ts.map