import { Address } from "@celo/utils/lib/address"; import { Multicall } from "@node-fi/multicall"; import BigNumber from "bignumber.js"; import { NodeRoute } from "../Routing"; import { Wallet } from "../wallet"; import { DepositTransactionDetails, EarnPosition, LendingMarketDetails } from "./EarnPosition"; export declare class LendingMarket extends EarnPosition { private debtToken; constructor({ debtToken, ...base }: LendingMarketDetails, wallet?: Wallet); balanceOfMulticall: (owner: string) => Multicall; getExpectedDeposit(tokenIn: string, amountIn: string): Promise<{ expectedOut?: BigNumber; routerAddress?: string; routes?: NodeRoute[]; error?: string; }>; withdrawToSelectedToken(amountToWithdraw: BigNumber, tokenOut: string): Promise<{ directOutput?: { [address: Address]: BigNumber; }; expectedOut?: BigNumber | undefined; routerAddress?: string | undefined; underlyingRoutes?: NodeRoute[] | undefined; error?: string | undefined; }>; withdrawToUnderlying(amountToWithdraw: BigNumber): Promise<{ directOutput?: { [address: string]: BigNumber; } | undefined; error?: string | undefined; }>; formatTransaction(details: DepositTransactionDetails, to: Address, slippage: number): { to: string; data: string; gas: string; } | undefined; canDirectlySwap(): boolean; additionalTransactionsForDeposit(): { to: string; data: string; gas: string; }[]; }