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: "uint256";
        readonly name: "_maxLTV";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_liquidationFee";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_maturityDate";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_penaltyRate";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_isBorrowerWhitelistActive";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_isLenderWhitelistActive";
        readonly type: "bool";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [];
    readonly name: "AlreadyInitialized";
    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: "BorrowerWhitelistRequired";
    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 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: "NameEmpty";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotDeployer";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_address";
        readonly type: "address";
    }];
    readonly name: "NotOnWhitelist";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyApprovedBorrowers";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyApprovedLenders";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyTimeLock";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_oracle";
        readonly type: "address";
    }];
    readonly name: "OracleLTEZero";
    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: "PastMaturity";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "PriceTooLarge";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ProtocolOrOwnerOnly";
    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 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: "_deltaTime";
        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: "_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: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "Paused";
    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: true;
        readonly internalType: "address";
        readonly name: "_address";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "_approval";
        readonly type: "bool";
    }];
    readonly name: "SetApprovedBorrower";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "_address";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "_approval";
        readonly type: "bool";
    }];
    readonly name: "SetApprovedLender";
    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: false;
        readonly internalType: "address";
        readonly name: "_oldAddress";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "_newAddress";
        readonly type: "address";
    }];
    readonly name: "SetTimeLock";
    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: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "Unpaused";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_rate";
        readonly type: "uint256";
    }];
    readonly name: "UpdateExchangeRate";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_ratePerSec";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_deltaTime";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_utilizationRate";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_newRatePerSec";
        readonly type: "uint256";
    }];
    readonly name: "UpdateRate";
    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 name: "WithdrawFees";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "CIRCUIT_BREAKER_ADDRESS";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "COMPTROLLER_ADDRESS";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    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: "FRAXLEND_WHITELIST_ADDRESS";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "TIME_LOCK_ADDRESS";
    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: "_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 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 internalType: "uint64";
        readonly name: "_newRate";
        readonly type: "uint64";
    }];
    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 internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "approvedBorrowers";
    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: "";
        readonly type: "address";
    }];
    readonly name: "approvedLenders";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    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: "borrowerWhitelistActive";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    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: "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 name: "currentRateInfo";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "lastBlock";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "feeToProtocolRate";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "lastTimestamp";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "ratePerSec";
        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: "pure";
    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: "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: "uint32";
        readonly name: "lastTimestamp";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint224";
        readonly name: "exchangeRate";
        readonly type: "uint224";
    }];
    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: "uint64";
        readonly name: "_DEFAULT_INT";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint16";
        readonly name: "_DEFAULT_PROTOCOL_FEE";
        readonly type: "uint16";
    }, {
        readonly internalType: "uint256";
        readonly name: "_MAX_PROTOCOL_FEE";
        readonly type: "uint256";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getImmutableAddressBool";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "_assetContract";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_collateralContract";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_oracleMultiply";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_oracleDivide";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_rateContract";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_DEPLOYER_CONTRACT";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_COMPTROLLER_ADDRESS";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_FRAXLEND_WHITELIST";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "_borrowerWhitelistActive";
        readonly type: "bool";
    }, {
        readonly internalType: "bool";
        readonly name: "_lenderWhitelistActive";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getImmutableUint256";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_oracleNormalization";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_maxLTV";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_cleanLiquidationFee";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_maturityDate";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_penaltyRate";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    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 internalType: "string";
        readonly name: "_name";
        readonly type: "string";
    }, {
        readonly internalType: "address[]";
        readonly name: "_approvedBorrowers";
        readonly type: "address[]";
    }, {
        readonly internalType: "address[]";
        readonly name: "_approvedLenders";
        readonly type: "address[]";
    }, {
        readonly internalType: "bytes";
        readonly name: "_rateInitCallData";
        readonly type: "bytes";
    }];
    readonly name: "initialize";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "lenderWhitelistActive";
    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 name: "maturityDate";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        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 name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "oracleDivide";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "oracleMultiply";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "oracleNormalization";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pause";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "paused";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "penaltyRate";
    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 IRateCalculator";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "rateInitCallData";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    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 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: "address[]";
        readonly name: "_borrowers";
        readonly type: "address[]";
    }, {
        readonly internalType: "bool";
        readonly name: "_approval";
        readonly type: "bool";
    }];
    readonly name: "setApprovedBorrowers";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address[]";
        readonly name: "_lenders";
        readonly type: "address[]";
    }, {
        readonly internalType: "bool";
        readonly name: "_approval";
        readonly type: "bool";
    }];
    readonly name: "setApprovedLenders";
    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: "_newAddress";
        readonly type: "address";
    }];
    readonly name: "setTimeLock";
    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 internalType: "uint256";
        readonly name: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }];
    readonly name: "toAssetAmount";
    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: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }];
    readonly name: "toAssetShares";
    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: "_shares";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }];
    readonly name: "toBorrowAmount";
    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: "_amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "bool";
        readonly name: "_roundUp";
        readonly type: "bool";
    }];
    readonly name: "toBorrowShares";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        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: "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 name: "unpause";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "updateExchangeRate";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "_exchangeRate";
        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: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    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";
}];
