import type { PromiseOrValue } from "../../../common";
import type { Counter, CounterInterface } from "../../../contracts/test/Counter";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
type CounterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Counter__factory extends ContractFactory {
    constructor(...args: CounterConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<Counter>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): Counter;
    connect(signer: Signer): Counter__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b50610288806100206000396000f3fe6080604052600436106100705760003560e01c80633a9ebefd1161004e5780633a9ebefd146100c85780637cf5dab0146100e5578063924ba50614610102578063afc874d21461012557610070565b806306661abd1461007557806319a50d4a1461009c5780631d63e24d146100b3575b600080fd5b34801561008157600080fd5b5061008a61013a565b60408051918252519081900360200190f35b3480156100a857600080fd5b506100b1610140565b005b3480156100bf57600080fd5b5061008a610189565b6100b1600480360360208110156100de57600080fd5b503561018f565b6100b1600480360360208110156100fb57600080fd5b50356101e6565b6100b16004803603604081101561011857600080fd5b50803590602001356101f1565b34801561013157600080fd5b506100b1610206565b60005481565b600054610187576040805162461bcd60e51b815260206004820152601060248201526f436f756e7465723a3a6e6f745a65726f60801b604482015290519081900360640190fd5b565b60015481565b6000548111156101da576040805162461bcd60e51b8152602060048201526011602482015270636f756e74657220756e646572666c6f7760781b604482015290519081900360640190fd5b60008054919091039055565b600080549091019055565b60008054909201909155600180549091019055565b6040805162461bcd60e51b815260206004820152601760248201527f436f756e7465723a3a7265766572742054657374696e67000000000000000000604482015290519081900360640190fdfea265627a7a72315820a1498093769a4eb6d43adcbe554142b2869365d6e8cb9b23b459e7960ea1a0d664736f6c63430005100032";
    static readonly abi: readonly [{
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "count";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "count2";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "decrement";
        readonly outputs: readonly [];
        readonly payable: true;
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "doRevert";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "increment";
        readonly outputs: readonly [];
        readonly payable: true;
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount2";
            readonly type: "uint256";
        }];
        readonly name: "increment";
        readonly outputs: readonly [];
        readonly payable: true;
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "notZero";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): CounterInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): Counter;
}
export {};
