import type { PromiseOrValue } from "../../../common";
import type { InterestRateModelHarness, InterestRateModelHarnessInterface } from "../../../contracts/test/InterestRateModelHarness";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, BigNumberish, Overrides } from "ethers";
type InterestRateModelHarnessConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class InterestRateModelHarness__factory extends ContractFactory {
    constructor(...args: InterestRateModelHarnessConstructorParams);
    deploy(borrowRate_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<InterestRateModelHarness>;
    getDeployTransaction(borrowRate_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): InterestRateModelHarness;
    connect(signer: Signer): InterestRateModelHarness__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b506040516102893803806102898339818101604052602081101561003357600080fd5b5051600155610242806100476000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b81688161161005b578063b81688161461010d578063c4fd6b2d1461013c578063c914b43714610144578063dd3eaf041461014c57610088565b806315f240531461008d5780631f64eb4e146100c85780632191f92a146100e95780637ddeded114610105575b600080fd5b6100b6600480360360608110156100a357600080fd5b5080359060208101359060400135610169565b60408051918252519081900360200190f35b6100e7600480360360208110156100de57600080fd5b503515156101cd565b005b6100f16101e0565b604080519115158252519081900360200190f35b6100b66101e5565b6100b66004803603608081101561012357600080fd5b50803590602081013590604081013590606001356101ea565b6100f16101f9565b6100b6610202565b6100e76004803603602081101561016257600080fd5b5035610208565b6000805460ff16156101c2576040805162461bcd60e51b815260206004820152601960248201527f494e5445524553545f524154455f4d4f44454c5f4552524f5200000000000000604482015290519081900360640190fd5b506001549392505050565b6000805460ff1916911515919091179055565b600181565b601481565b60018054919003029392505050565b60005460ff1681565b60015481565b60015556fea265627a7a723158204ab78dc47f4bba1004bc303140b809dfd9fe6d4113bc036216b7d630ea22a38664736f6c63430005100032";
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "borrowRate_";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "borrowRate";
        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: "failBorrowRate";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_cash";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_borrows";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_reserves";
            readonly type: "uint256";
        }];
        readonly name: "getBorrowRate";
        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 internalType: "uint256";
            readonly name: "_cash";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_borrows";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_reserves";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_reserveFactor";
            readonly type: "uint256";
        }];
        readonly name: "getSupplyRate";
        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: "isInterestRateModel";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "opaqueBorrowFailureCode";
        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: "borrowRate_";
            readonly type: "uint256";
        }];
        readonly name: "setBorrowRate";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "bool";
            readonly name: "failBorrowRate_";
            readonly type: "bool";
        }];
        readonly name: "setFailBorrowRate";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): InterestRateModelHarnessInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): InterestRateModelHarness;
}
export {};
