import { type ContractRunner } from "ethers";
import type { IAccountLiquidity, IAccountLiquidityInterface } from "../../../../contracts/Comptroller/Comptroller.sol/IAccountLiquidity";
export declare class IAccountLiquidity__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenModify";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "intraSafeLimitMantissa";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "interSafeLimitMantissa";
            readonly type: "uint256";
        }];
        readonly name: "getGroupVars";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint8";
                readonly name: "groupId";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "cDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "cBorrowVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suBorrowVal";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraMintRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraSuRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interSuRate";
                readonly type: "tuple";
            }];
            readonly internalType: "struct IAccountLiquidity.AccountGroupLocalVars[]";
            readonly name: "";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenModify";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "redeemTokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "getHypotheticalAccountLiquidity";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenModify";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "redeemTokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "getHypotheticalGroupSummary";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint8";
                readonly name: "groupId";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "cDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "cBorrowVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suBorrowVal";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraMintRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraSuRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interSuRate";
                readonly type: "tuple";
            }];
            readonly internalType: "struct IAccountLiquidity.AccountGroupLocalVars";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenModify";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "intraSafeLimitMantissa";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "interSafeLimitMantissa";
            readonly type: "uint256";
        }];
        readonly name: "getHypotheticalSafeLimit";
        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: "account";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenModify";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "redeemTokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "getIntermediateGroupSummary";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint8";
                readonly name: "groupId";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "cDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "cBorrowVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suDepositVal";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "suBorrowVal";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraMintRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "intraSuRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interCRate";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "mantissa";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Exp";
                readonly name: "interSuRate";
                readonly type: "tuple";
            }];
            readonly internalType: "struct IAccountLiquidity.AccountGroupLocalVars";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): IAccountLiquidityInterface;
    static connect(address: string, runner?: ContractRunner | null): IAccountLiquidity;
}
