import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, BigNumberish, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../common";
import type { JumpRateModel, JumpRateModelInterface } from "../../../contracts/InterestRateModel/JumpRateModel";
type JumpRateModelConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class JumpRateModel__factory extends ContractFactory {
    constructor(...args: JumpRateModelConstructorParams);
    getDeployTransaction(baseRatePerYear: BigNumberish, multiplierPerYear: BigNumberish, jumpMultiplierPerYear: BigNumberish, kink_: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(baseRatePerYear: BigNumberish, multiplierPerYear: BigNumberish, jumpMultiplierPerYear: BigNumberish, kink_: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<JumpRateModel & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): JumpRateModel__factory;
    static readonly bytecode = "0x6080346100b757601f61042938819003918201601f19168301916001600160401b038311848410176100bc578084926080946040528339810103126100b7576080817f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d925160208201519160606040820151910151916220148080809204948560015504918260005504908160025582600355604051938452602084015260408301526060820152a160405161035690816100d38239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe604060808152600436101561001357600080fd5b600090813560e01c806315f24053146101cd5780632191f92a146101b25780636e71e2d8146101905780638726bb8914610174578063a385fb9614610157578063b8168816146100df578063b9f9850a146100c1578063f14039de146100a35763fd2da3391461008257600080fd5b3461009f578160031936011261009f576020906003549051908152f35b5080fd5b503461009f578160031936011261009f576020906001549051908152f35b503461009f578160031936011261009f576020906002549051908152f35b503461009f57608036600319011261009f576004359160243560443590670de0b6b3a764000092606435840390848211610143575082828561013461012f9461012f61013b988c9860209d6102aa565b610297565b0493610207565b049051908152f35b634e487b7160e01b81526011600452602490fd5b503461009f578160031936011261009f5760209051622014808152f35b503461009f578160031936011261009f57602091549051908152f35b503461009f576020906101ab6101a5366101e8565b91610207565b9051908152f35b503461009f578160031936011261009f576020905160018152f35b503461009f576020906101ab6101e2366101e8565b916102aa565b606090600319011261020257600435906024359060443590565b600080fd5b91811561027557670de0b6b3a7640000820292670de0b6b3a763ffff198385040161025f5761023e926102399161027d565b61028a565b908115610249570490565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b505050600090565b9190820180921161025f57565b9190820391821161025f57565b8181029291811591840414171561025f57565b906102b59291610207565b6003548082116102e65750670de0b6b3a76400006102d96102e39260005490610297565b046001549061027d565b90565b906102e39161031a610311670de0b6b3a76400009261030b846102d960005484610297565b9461028a565b60025490610297565b0461027d56fea2646970667358221220195e9ce5035f44e525a262844833781857e7e8e519439b2b30a53e390c3aa48964736f6c63430008130033";
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "baseRatePerYear";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "multiplierPerYear";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "jumpMultiplierPerYear";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "kink_";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "baseRatePerBlock";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "multiplierPerBlock";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "jumpMultiplierPerBlock";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "kink";
            readonly type: "uint256";
        }];
        readonly name: "NewInterestParams";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "baseRatePerBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "blocksPerYear";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        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 stateMutability: "view";
        readonly type: "function";
    }, {
        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: "reserveFactorMantissa";
            readonly type: "uint256";
        }];
        readonly name: "getSupplyRate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isInterestRateModel";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "jumpMultiplierPerBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "kink";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "multiplierPerBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        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: "utilizationRate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }];
    static createInterface(): JumpRateModelInterface;
    static connect(address: string, runner?: ContractRunner | null): JumpRateModel;
}
export {};
