export declare const FRAXLEND_ABI: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "_configData";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "_immutables";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "_customConfigData";
        readonly type: "bytes";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [];
    readonly name: "AccessControlRevoked";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "BadProtocolFee";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "BadSwapper";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "BorrowerSolvent";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ExceedsBorrowLimit";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ExceedsDepositLimit";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ExceedsMaxOracleDeviation";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_borrow";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_collateral";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_exchangeRate";
        readonly type: "uint256";
    }];
    readonly name: "Insolvent";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_assets";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_request";
        readonly type: "uint256";
    }];
    readonly name: "InsufficientAssetsInContract";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InterestPaused";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_expected";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_actual";
        readonly type: "address";
    }];
    readonly name: "InvalidPath";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidReceiver";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "LiquidatePaused";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyPendingTimelock";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyProtocolOrOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyTimelock";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyTimelockOrOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_blockTimestamp";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_deadline";
        readonly type: "uint256";
    }];
    readonly name: "PastDeadline";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "RepayPaused";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "SetterRevoked";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_minOut";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_actual";
        readonly type: "uint256";
    }];
    readonly name: "SlippageTooHigh";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "WithdrawPaused";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "borrower";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "collateralAmount";
        readonly type: "uint256";
    }];
    readonly name: "AddCollateral";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "interestEarned";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "rate";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "feesAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "feesShare";
        readonly type: "uint256";
    }];
    readonly name: "AddInterest";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "spender";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "value";
        readonly type: "uint256";
    }];
    readonly name: "Approval";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_borrowAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_sharesAdded";
        readonly type: "uint256";
    }];
    readonly name: "BorrowAsset";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint32";
        readonly name: "newFee";
        readonly type: "uint32";
    }];
    readonly name: "ChangeFee";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "caller";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "assets";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "shares";
        readonly type: "uint256";
    }];
    readonly name: "Deposit";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "_swapperAddress";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_borrowAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_borrowShares";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_initialCollateralAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_amountCollateralOut";
        readonly type: "uint256";
    }];
    readonly name: "LeveragedPosition";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_collateralForLiquidator";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_sharesToLiquidate";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_amountLiquidatorToRepay";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_feesAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_sharesToAdjust";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_amountToAdjust";
        readonly type: "uint256";
    }];
    readonly name: "Liquidate";
    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 anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isPaused";
        readonly type: "bool";
    }];
    readonly name: "PauseInterest";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isPaused";
        readonly type: "bool";
    }];
    readonly name: "PauseLiquidate";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isPaused";
        readonly type: "bool";
    }];
    readonly name: "PauseRepay";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isPaused";
        readonly type: "bool";
    }];
    readonly name: "PauseWithdraw";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_sender";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_collateralAmount";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }];
    readonly name: "RemoveCollateral";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "payer";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "borrower";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amountToRepay";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "shares";
        readonly type: "uint256";
    }];
    readonly name: "RepayAsset";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "_swapperAddress";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_collateralToSwap";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_amountAssetOut";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_sharesRepaid";
        readonly type: "uint256";
    }];
    readonly name: "RepayAssetWithCollateral";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "borrowLimit";
        readonly type: "uint256";
    }];
    readonly name: "RevokeBorrowAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "depositLimit";
        readonly type: "uint256";
    }];
    readonly name: "RevokeDepositAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeInterestAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeLiquidateAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeLiquidationFeeSetter";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeMaxLTVSetter";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeOracleInfoSetter";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeRateContractSetter";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeRepayAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "RevokeWithdrawAccessControl";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "limit";
        readonly type: "uint256";
    }];
    readonly name: "SetBorrowLimit";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "oldCircuitBreaker";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newCircuitBreaker";
        readonly type: "address";
    }];
    readonly name: "SetCircuitBreaker";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "limit";
        readonly type: "uint256";
    }];
    readonly name: "SetDepositLimit";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldCleanLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldDirtyLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldProtocolLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newCleanLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newDirtyLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newProtocolLiquidationFee";
        readonly type: "uint256";
    }];
    readonly name: "SetLiquidationFees";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldMaxLTV";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newMaxLTV";
        readonly type: "uint256";
    }];
    readonly name: "SetMaxLTV";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "oldOracle";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint32";
        readonly name: "oldMaxOracleDeviation";
        readonly type: "uint32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newOracle";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint32";
        readonly name: "newMaxOracleDeviation";
        readonly type: "uint32";
    }];
    readonly name: "SetOracleInfo";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "oldRateContract";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newRateContract";
        readonly type: "address";
    }];
    readonly name: "SetRateContract";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "swapper";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approval";
        readonly type: "bool";
    }];
    readonly name: "SetSwapper";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousTimelock";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newTimelock";
        readonly type: "address";
    }];
    readonly name: "TimelockTransferStarted";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousTimelock";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newTimelock";
        readonly type: "address";
    }];
    readonly name: "TimelockTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "value";
        readonly type: "uint256";
    }];
    readonly name: "Transfer";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "lowExchangeRate";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "highExchangeRate";
        readonly type: "uint256";
    }];
    readonly name: "UpdateExchangeRate";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldRatePerSec";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "oldFullUtilizationRate";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newRatePerSec";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "newFullUtilizationRate";
        readonly type: "uint256";
    }];
    readonly name: "UpdateRate";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "oracle";
        readonly type: "address";
    }];
    readonly name: "WarnOracleData";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "caller";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "receiver";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "assets";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "shares";
        readonly type: "uint256";
    }];
    readonly name: "Withdraw";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint128";
        readonly name: "shares";
        readonly type: "uint128";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "recipient";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amountToTransfer";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "collateralAmount";
        readonly type: "uint256";
    }];
    readonly name: "WithdrawFees";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "DEPLOYER_ADDRESS";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "DEVIATION_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "EXCHANGE_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "FEE_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "LIQ_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "LTV_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MAX_PROTOCOL_FEE";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "RATE_PRECISION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "UTIL_PREC";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "acceptOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "acceptTransferTimelock";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_collateralAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }];
    readonly name: "addCollateral";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_returnAccounting";
        readonly type: "bool";
    }];
    readonly name: "addInterest";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_interestEarned";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_feesAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_feesShare";
        readonly type: "uint256";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint32";
            readonly name: "lastBlock";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint32";
            readonly name: "feeToProtocolRate";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint64";
            readonly name: "lastTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "ratePerSec";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "fullUtilizationRate";
            readonly type: "uint64";
        }];
        readonly internalType: "struct FraxlendPairCore.CurrentRateInfo";
        readonly name: "_currentRateInfo";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint128";
            readonly name: "amount";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "shares";
            readonly type: "uint128";
        }];
        readonly internalType: "struct VaultAccount";
        readonly name: "_totalAsset";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint128";
            readonly name: "amount";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "shares";
            readonly type: "uint128";
        }];
        readonly internalType: "struct VaultAccount";
        readonly name: "_totalBorrow";
        readonly type: "tuple";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "spender";
        readonly type: "address";
    }];
    readonly name: "allowance";
    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: "spender";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "approve";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "asset";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "balanceOf";
    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: "_borrowAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_collateralAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }];
    readonly name: "borrowAsset";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "borrowLimit";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint32";
        readonly name: "_newFee";
        readonly type: "uint32";
    }];
    readonly name: "changeFee";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "circuitBreakerAddress";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "cleanLiquidationFee";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "collateralContract";
    readonly outputs: readonly [{
        readonly internalType: "contract IERC20";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly name: "convertToAssets";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_assets";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_assets";
        readonly type: "uint256";
    }];
    readonly name: "convertToShares";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "currentRateInfo";
    readonly outputs: readonly [{
        readonly internalType: "uint32";
        readonly name: "lastBlock";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint32";
        readonly name: "feeToProtocolRate";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint64";
        readonly name: "lastTimestamp";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "ratePerSec";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "fullUtilizationRate";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "decimals";
    readonly outputs: readonly [{
        readonly internalType: "uint8";
        readonly name: "";
        readonly type: "uint8";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "spender";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "subtractedValue";
        readonly type: "uint256";
    }];
    readonly name: "decreaseAllowance";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }];
    readonly name: "deposit";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_sharesReceived";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "depositLimit";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "dirtyLiquidationFee";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "exchangeRateInfo";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "oracle";
        readonly type: "address";
    }, {
        readonly internalType: "uint32";
        readonly name: "maxOracleDeviation";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint184";
        readonly name: "lastTimestamp";
        readonly type: "uint184";
    }, {
        readonly internalType: "uint256";
        readonly name: "lowExchangeRate";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "highExchangeRate";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getConstants";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_LTV_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_LIQ_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_UTIL_PREC";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_FEE_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_EXCHANGE_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_DEVIATION_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_RATE_PRECISION";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_MAX_PROTOCOL_FEE";
        readonly type: "uint256";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getPairAccounting";
    readonly outputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "_totalAssetAmount";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint128";
        readonly name: "_totalAssetShares";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint128";
        readonly name: "_totalBorrowAmount";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint128";
        readonly name: "_totalBorrowShares";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint256";
        readonly name: "_totalCollateral";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_address";
        readonly type: "address";
    }];
    readonly name: "getUserSnapshot";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_userAssetShares";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_userBorrowShares";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_userCollateralBalance";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "spender";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "addedValue";
        readonly type: "uint256";
    }];
    readonly name: "increaseAllowance";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isBorrowAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isDepositAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isInterestAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isInterestPaused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isLiquidateAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isLiquidatePaused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isLiquidationFeeSetterRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isMaxLTVSetterRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isOracleSetterRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isRateContractSetterRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isRepayAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isRepayPaused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isWithdrawAccessControlRevoked";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "isWithdrawPaused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_swapperAddress";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_borrowAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_initialCollateralAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amountCollateralOutMin";
        readonly type: "uint256";
    }, {
        readonly internalType: "address[]";
        readonly name: "_path";
        readonly type: "address[]";
    }];
    readonly name: "leveragedPosition";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_totalCollateralBalance";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "_sharesToLiquidate";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint256";
        readonly name: "_deadline";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }];
    readonly name: "liquidate";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_collateralForLiquidator";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }];
    readonly name: "maxDeposit";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_maxAssets";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "maxLTV";
    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: "_receiver";
        readonly type: "address";
    }];
    readonly name: "maxMint";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_maxShares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_owner";
        readonly type: "address";
    }];
    readonly name: "maxRedeem";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_maxShares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_owner";
        readonly type: "address";
    }];
    readonly name: "maxWithdraw";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_maxAssets";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }];
    readonly name: "mint";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    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: "pause";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pauseBorrow";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pauseDeposit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_isPaused";
        readonly type: "bool";
    }];
    readonly name: "pauseInterest";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_isPaused";
        readonly type: "bool";
    }];
    readonly name: "pauseLiquidate";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_isPaused";
        readonly type: "bool";
    }];
    readonly name: "pauseRepay";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_isPaused";
        readonly type: "bool";
    }];
    readonly name: "pauseWithdraw";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    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: "pendingTimelockAddress";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "previewAddInterest";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_interestEarned";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_feesAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_feesShare";
        readonly type: "uint256";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint32";
            readonly name: "lastBlock";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint32";
            readonly name: "feeToProtocolRate";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint64";
            readonly name: "lastTimestamp";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "ratePerSec";
            readonly type: "uint64";
        }, {
            readonly internalType: "uint64";
            readonly name: "fullUtilizationRate";
            readonly type: "uint64";
        }];
        readonly internalType: "struct FraxlendPairCore.CurrentRateInfo";
        readonly name: "_newCurrentRateInfo";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint128";
            readonly name: "amount";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "shares";
            readonly type: "uint128";
        }];
        readonly internalType: "struct VaultAccount";
        readonly name: "_totalAsset";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly internalType: "uint128";
            readonly name: "amount";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "shares";
            readonly type: "uint128";
        }];
        readonly internalType: "struct VaultAccount";
        readonly name: "_totalBorrow";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_assets";
        readonly type: "uint256";
    }];
    readonly name: "previewDeposit";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_sharesReceived";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly name: "previewMint";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly name: "previewRedeem";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_assets";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly name: "previewWithdraw";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_sharesToBurn";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pricePerShare";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "protocolLiquidationFee";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "rateContract";
    readonly outputs: readonly [{
        readonly internalType: "contract IRateCalculatorV2";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_owner";
        readonly type: "address";
    }];
    readonly name: "redeem";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amountToReturn";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_collateralAmount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }];
    readonly name: "removeCollateral";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceTimelock";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_borrower";
        readonly type: "address";
    }];
    readonly name: "repayAsset";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amountToRepay";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_swapperAddress";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_collateralToSwap";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amountAssetOutMin";
        readonly type: "uint256";
    }, {
        readonly internalType: "address[]";
        readonly name: "_path";
        readonly type: "address[]";
    }];
    readonly name: "repayAssetWithCollateral";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amountAssetOut";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_borrowLimit";
        readonly type: "uint256";
    }];
    readonly name: "revokeBorrowLimitAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_depositLimit";
        readonly type: "uint256";
    }];
    readonly name: "revokeDepositLimitAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeInterestAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeLiquidateAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeLiquidationFeeSetter";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeMaxLTVSetter";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeOracleInfoSetter";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeRateContractSetter";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeRepayAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "revokeWithdrawAccessControl";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_limit";
        readonly type: "uint256";
    }];
    readonly name: "setBorrowLimit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_newCircuitBreaker";
        readonly type: "address";
    }];
    readonly name: "setCircuitBreaker";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_limit";
        readonly type: "uint256";
    }];
    readonly name: "setDepositLimit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_newCleanLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_newDirtyLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_newProtocolLiquidationFee";
        readonly type: "uint256";
    }];
    readonly name: "setLiquidationFees";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_newMaxLTV";
        readonly type: "uint256";
    }];
    readonly name: "setMaxLTV";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_newOracle";
        readonly type: "address";
    }, {
        readonly internalType: "uint32";
        readonly name: "_newMaxOracleDeviation";
        readonly type: "uint32";
    }];
    readonly name: "setOracle";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_newRateContract";
        readonly type: "address";
    }];
    readonly name: "setRateContract";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_swapper";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "_approval";
        readonly type: "bool";
    }];
    readonly name: "setSwapper";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "swappers";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "symbol";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "timelockAddress";
    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: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_previewInterest";
        readonly type: "bool";
    }];
    readonly name: "toAssetAmount";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_previewInterest";
        readonly type: "bool";
    }];
    readonly name: "toAssetShares";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_previewInterest";
        readonly type: "bool";
    }];
    readonly name: "toBorrowAmount";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_previewInterest";
        readonly type: "bool";
    }];
    readonly name: "toBorrowShares";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "totalAsset";
    readonly outputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "amount";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint128";
        readonly name: "shares";
        readonly type: "uint128";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "totalAssets";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "totalBorrow";
    readonly outputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "amount";
        readonly type: "uint128";
    }, {
        readonly internalType: "uint128";
        readonly name: "shares";
        readonly type: "uint128";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "totalCollateral";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "totalSupply";
    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: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "transfer";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "transferFrom";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    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: "address";
        readonly name: "_newTimelock";
        readonly type: "address";
    }];
    readonly name: "transferTimelock";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "unpause";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "updateExchangeRate";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "_isBorrowAllowed";
        readonly type: "bool";
    }, {
        readonly internalType: "uint256";
        readonly name: "_lowExchangeRate";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_highExchangeRate";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "userBorrowShares";
    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: "";
        readonly type: "address";
    }];
    readonly name: "userCollateralBalance";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "version";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_major";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_minor";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_patch";
        readonly type: "uint256";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "_receiver";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_owner";
        readonly type: "address";
    }];
    readonly name: "withdraw";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_sharesToBurn";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint128";
        readonly name: "_shares";
        readonly type: "uint128";
    }, {
        readonly internalType: "address";
        readonly name: "_recipient";
        readonly type: "address";
    }];
    readonly name: "withdrawFees";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_amountToTransfer";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];
