"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
exports.__esModule = true;
exports.IAccountLiquidity__factory = void 0;
var ethers_1 = require("ethers");
var _abi = [
    {
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address"
            },
            {
                internalType: "address",
                name: "cTokenModify",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "intraSafeLimitMantissa",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "interSafeLimitMantissa",
                type: "uint256"
            },
        ],
        name: "getGroupVars",
        outputs: [
            {
                components: [
                    {
                        internalType: "uint8",
                        name: "groupId",
                        type: "uint8"
                    },
                    {
                        internalType: "uint256",
                        name: "cDepositVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "cBorrowVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "suDepositVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "suBorrowVal",
                        type: "uint256"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraCRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraMintRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraSuRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "interCRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "interSuRate",
                        type: "tuple"
                    },
                ],
                internalType: "struct IAccountLiquidity.AccountGroupLocalVars[]",
                name: "",
                type: "tuple[]"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address"
            },
            {
                internalType: "address",
                name: "cTokenModify",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "redeemTokens",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "borrowAmount",
                type: "uint256"
            },
        ],
        name: "getHypotheticalAccountLiquidity",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address"
            },
            {
                internalType: "address",
                name: "cTokenModify",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "redeemTokens",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "borrowAmount",
                type: "uint256"
            },
        ],
        name: "getHypotheticalGroupSummary",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
            {
                components: [
                    {
                        internalType: "uint8",
                        name: "groupId",
                        type: "uint8"
                    },
                    {
                        internalType: "uint256",
                        name: "cDepositVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "cBorrowVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "suDepositVal",
                        type: "uint256"
                    },
                    {
                        internalType: "uint256",
                        name: "suBorrowVal",
                        type: "uint256"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraCRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraMintRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "intraSuRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "interCRate",
                        type: "tuple"
                    },
                    {
                        components: [
                            {
                                internalType: "uint256",
                                name: "mantissa",
                                type: "uint256"
                            },
                        ],
                        internalType: "struct Exp",
                        name: "interSuRate",
                        type: "tuple"
                    },
                ],
                internalType: "struct IAccountLiquidity.AccountGroupLocalVars",
                name: "",
                type: "tuple"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address"
            },
            {
                internalType: "address",
                name: "cTokenModify",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "intraSafeLimitMantissa",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "interSafeLimitMantissa",
                type: "uint256"
            },
        ],
        name: "getHypotheticalSafeLimit",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
];
var IAccountLiquidity__factory = /** @class */ (function () {
    function IAccountLiquidity__factory() {
    }
    IAccountLiquidity__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    IAccountLiquidity__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    IAccountLiquidity__factory.abi = _abi;
    return IAccountLiquidity__factory;
}());
exports.IAccountLiquidity__factory = IAccountLiquidity__factory;
//# sourceMappingURL=IAccountLiquidity__factory.js.map