import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../common";
import type { ERC20VotesInitialVoiceCreditProxy, ERC20VotesInitialVoiceCreditProxyInterface } from "../../../contracts/initialVoiceCreditProxy/ERC20VotesInitialVoiceCreditProxy";
type ERC20VotesInitialVoiceCreditProxyConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class ERC20VotesInitialVoiceCreditProxy__factory extends ContractFactory {
    constructor(...args: ERC20VotesInitialVoiceCreditProxyConstructorParams);
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ERC20VotesInitialVoiceCreditProxy & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): ERC20VotesInitialVoiceCreditProxy__factory;
    static readonly bytecode = "0x6080604052348015600f57600080fd5b506104948061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b36543a9146100ce578063b41a4b19146100e1578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806354f703f8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60035481565b6100cc610121565b005b6100ad6100dc3660046102ce565b61012b565b6100e96101c9565b60405161009b919061039a565b600254610109906001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6101296101d8565b565b600354600254600154604051630748d63560e31b8152600093926001600160a01b031691633a46b1a8916101779188916004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b891906103e8565b6101c29190610401565b9392505050565b60606101d3610234565b905090565b6101e061023f565b60006101ea610234565b90506000806000838060200190518101906102059190610423565b600192909255600280546001600160a01b0319166001600160a01b039290921691909117905560035550505050565b60606101d330610271565b60005460ff16156102625760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b6001600160a01b03811681146102b557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156102e157600080fd5b82356102ec816102a0565b9150602083013567ffffffffffffffff81111561030857600080fd5b8301601f8101851361031957600080fd5b803567ffffffffffffffff811115610333576103336102b8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610362576103626102b8565b60405281815282820160200187101561037a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000825180602084015260005b818110156103c857602081860181015160408684010152016103ab565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156103fa57600080fd5b5051919050565b60008261041e57634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561043857600080fd5b8351602085015190935061044b816102a0565b604094909401519295939450919291505056fea2646970667358221220b58704815b48e443a7328fc9c4177b7e51617d908f169c7350b4bd4c3573fe1664736f6c634300081c0033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "AlreadyInitialized";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "factor";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        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 internalType: "address";
            readonly name: "voter";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly name: "getVoiceCredits";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        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: "token";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): ERC20VotesInitialVoiceCreditProxyInterface;
    static connect(address: string, runner?: ContractRunner | null): ERC20VotesInitialVoiceCreditProxy;
}
export {};
//# sourceMappingURL=ERC20VotesInitialVoiceCreditProxy__factory.d.ts.map