import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, BigNumberish, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../common";
import type { WhitePaperInterestRateModel, WhitePaperInterestRateModelInterface } from "../../../contracts/InterestRateModel/WhitePaperInterestRateModel";
type WhitePaperInterestRateModelConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class WhitePaperInterestRateModel__factory extends ContractFactory {
    constructor(...args: WhitePaperInterestRateModelConstructorParams);
    getDeployTransaction(baseRatePerYear: BigNumberish, multiplierPerYear: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(baseRatePerYear: BigNumberish, multiplierPerYear: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<WhitePaperInterestRateModel & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): WhitePaperInterestRateModel__factory;
    static readonly bytecode = "0x6080346100e557601f61066938819003918201601f19168301916001600160401b038311848410176100ea5780849260409485528339810103126100e55760408160207ff35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27935191015160018060a01b0319600154166001556301e1338080600054933360018060a01b0319861617600055855194339060018060a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a304918260035504908160025582526020820152a160405161056890816101018239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806315f24053146103b95780632191f92a1461039d578063252e40b11461037e57806346f608ff146103605780636e71e2d81461033f578063715018a6146102da57806379ba50971461020f5780638da5cb5b146101e6578063b816881614610160578063d90e026414610142578063e30c3978146101195763f2fde38b146100a057600080fd5b34610114576020366003190112610114576004356001600160a01b03811690819003610114576100ce6104da565b600180546001600160a01b03191682179055600080546001600160a01b0316907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b600080fd5b34610114576000366003190112610114576001546040516001600160a01b039091168152602090f35b34610114576000366003190112610114576020600354604051908152f35b346101145760803660031901126101145760043560243560443590606435670de0b6b3a76400000392670de0b6b3a764000084116101d0576101bb8383670de0b6b3a76400006101c06020986101bb83996101c799896103ec565b6104c7565b0493610436565b04604051908152f35b634e487b7160e01b600052601160045260246000fd5b34610114576000366003190112610114576000546040516001600160a01b039091168152602090f35b3461011457600036600319011261011457600154336001600160a01b039091160361028357600180546001600160a01b03199081169091556000805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b60405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608490fd5b34610114576000366003190112610114576102f36104da565b600180546001600160a01b0319908116909155600080549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610114576020610358610352366103d2565b91610436565b604051908152f35b34610114576000366003190112610114576020600254604051908152f35b346101145760003660031901126101145760206040516301e133808152f35b3461011457600036600319011261011457602060405160018152f35b346101145760206103586103cc366103d2565b916103ec565b606090600319011261011457600435906024359060443590565b61040661041993670de0b6b3a76400009361040f93610436565b600254906104c7565b046003549061041c565b90565b919082018092116101d057565b919082039182116101d057565b9181156104bf57828111806104a9575b61049a57670de0b6b3a7640000820292828404670de0b6b3a7640000036101d057610479926104749161041c565b610429565b908115610484570490565b634e487b7160e01b600052601260045260246000fd5b505050670de0b6b3a764000090565b506104b881610474858561041c565b1515610446565b505050600090565b818102929181159184041417156101d057565b6000546001600160a01b031633036104ee57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea2646970667358221220b3ac0f648913f474b80ef2eb38d021f0c57f0be6c9082c54dc13b1e605a7853664736f6c634300081a0033";
    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 stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "baseRatePerSecond";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "multiplierPerSecond";
            readonly type: "uint256";
        }];
        readonly name: "NewInterestParams";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferStarted";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferred";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "acceptOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "baseRatePerSecond";
        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: "multiplierPerSecond";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "pendingOwner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "secondsPerYear";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        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(): WhitePaperInterestRateModelInterface;
    static connect(address: string, runner?: ContractRunner | null): WhitePaperInterestRateModel;
}
export {};
