import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, BigNumberish, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../../common";
import type { SuTokenRateModel, SuTokenRateModelInterface } from "../../../../contracts/InterestRateModel/suTokenInterestModel.sol/SuTokenRateModel";
type SuTokenRateModelConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class SuTokenRateModel__factory extends ContractFactory {
    constructor(...args: SuTokenRateModelConstructorParams);
    getDeployTransaction(initBorrowRate: BigNumberish, initSupplyRate: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(initBorrowRate: BigNumberish, initSupplyRate: BigNumberish, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<SuTokenRateModel & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): SuTokenRateModel__factory;
    static readonly bytecode = "0x60803461006b57601f61032a38819003918201601f19168301916001600160401b0383118484101761007057808492604094855283398101031261006b5760208151910151906001556002553360018060a01b031960005416176000556040516102a390816100878239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604090808252600436101561001557600080fd5b600091823560e01c91826315f2405314610217575081632191f92a146101fb5781633f95e273146101cc5781638da5cb5b146101a4578163a6f9dae11461011a578163ad2961a3146100fb578163b8168816146100db578163c914b437146100b8575063dd3eaf041461008757600080fd5b346100b55760203660031901126100b5576100ac60018060a01b038254163314610234565b60043560015580f35b80fd5b9050346100d757816003193601126100d7576020906001549051908152f35b5080fd5b9050346100d75760803660031901126100d7576020906002549051908152f35b9050346100d757816003193601126100d7576020906002549051908152f35b9050346100d75760203660031901126100d7576001600160a01b0360043581811692908390036101a05761015384549283163314610234565b821561016a57506001600160a01b03191617815580f35b5162461bcd60e51b815260206004820152601060248201526f41646472657373206973205a65726f2160801b6044820152606490fd5b8380fd5b9050346100d757816003193601126100d757905490516001600160a01b039091168152602090f35b82346100b55760203660031901126100b5576101f260018060a01b038254163314610234565b60043560025580f35b9050346100d757816003193601126100d7576020905160018152f35b8390346100d75760603660031901126100d7576020906001548152f35b1561023b57565b60405162461bcd60e51b815260206004820152600a60248201526927a7262c9027aba722a960b11b6044820152606490fdfea2646970667358221220ea766fc4020201d03cfe2928d5766c3595b4a60ba66dbdc0bf2e8cc9c0ece8e264736f6c63430008130033";
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "initBorrowRate";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "initSupplyRate";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [];
        readonly name: "borrowRate";
        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: "owner_";
            readonly type: "address";
        }];
        readonly name: "changeOwner";
        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: "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: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "rate";
            readonly type: "uint256";
        }];
        readonly name: "setBorrowRate";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "rate";
            readonly type: "uint256";
        }];
        readonly name: "setSupplyRate";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "supplyRate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): SuTokenRateModelInterface;
    static connect(address: string, runner?: ContractRunner | null): SuTokenRateModel;
}
export {};
