import BigNumber from 'bignumber.js'; import memoize from "memoizee"; import { IDict, IProfit, IMethodInfo } from '../interfaces'; import { Curve } from "../curve.js"; import { CorePool } from "./subClasses/corePool.js"; import { StatsPool } from "./subClasses/statsPool.js"; import { WalletPool } from "./subClasses/walletPool.js"; export declare class PoolTemplate extends CorePool { isGaugeKilled: () => Promise; gaugeStatus: () => Promise; estimateGas: { depositApprove: (amounts: (number | string)[]) => Promise; deposit: (amounts: (number | string)[], slippage?: number) => Promise; depositWrappedApprove: (amounts: (number | string)[]) => Promise; depositWrapped: (amounts: (number | string)[], slippage?: number) => Promise; stakeApprove: (lpTokenAmount: number | string) => Promise; stake: (lpTokenAmount: number | string) => Promise; unstake: (lpTokenAmount: number | string) => Promise; claimCrv: () => Promise; claimRewards: () => Promise; depositAndStakeApprove: (amounts: (number | string)[]) => Promise; depositAndStake: (amounts: (number | string)[], slippage?: number) => Promise; depositAndStakeWrappedApprove: (amounts: (number | string)[]) => Promise; depositAndStakeWrapped: (amounts: (number | string)[], slippage?: number) => Promise; withdrawApprove: (lpTokenAmount: number | string) => Promise; withdraw: (lpTokenAmount: number | string, slippage?: number) => Promise; withdrawWrapped: (lpTokenAmount: number | string, slippage?: number) => Promise; withdrawImbalanceApprove: (amounts: (number | string)[]) => Promise; withdrawImbalance: (amounts: (number | string)[], slippage?: number) => Promise; withdrawImbalanceWrapped: (amounts: (number | string)[], slippage?: number) => Promise; withdrawOneCoinApprove: (lpTokenAmount: number | string) => Promise; withdrawOneCoin: (lpTokenAmount: number | string, coin: string | number, slippage?: number) => Promise; withdrawOneCoinWrapped: (lpTokenAmount: number | string, coin: string | number, slippage?: number) => Promise; swapApprove: (inputCoin: string | number, amount: number | string) => Promise; swap: (inputCoin: string | number, outputCoin: string | number, amount: number | string, slippage: number) => Promise; swapWrappedApprove: (inputCoin: string | number, amount: number | string) => Promise; swapWrapped: (inputCoin: string | number, outputCoin: string | number, amount: number | string, slippage: number) => Promise; }; abi: { deposit: () => Promise; depositWrapped: () => Promise; withdrawOneCoin: () => Promise; withdrawOneCoinWrapped: () => Promise; swap: () => Promise; swapWrapped: () => Promise; }; stats: StatsPool; wallet: WalletPool; constructor(id: string, curve: Curve, poolData?: import("../interfaces").IPoolData); hasVyperVulnerability(): boolean; rewardsOnly(): boolean; _calcTokenApy: (futureWorkingSupplyBN?: BigNumber | null) => Promise<[baseApy: number, boostedApy: number]>; private _pureCalcLpTokenAmount; _calcLpTokenAmount: ((_amounts: bigint[], isDeposit?: any, useUnderlying?: any) => Promise) & memoize.Memoized<(_amounts: bigint[], isDeposit?: any, useUnderlying?: any) => Promise>; private calcLpTokenAmount; private calcLpTokenAmountBigInt; private calcLpTokenAmountWrapped; private calcLpTokenAmountWrappedBigInt; _isPoolFiltered(): Promise; getSeedAmounts(amount1: number | string, useUnderlying?: boolean): Promise; depositBalancedAmounts(): Promise; depositExpected(amounts: (number | string)[]): Promise; depositExpectedBigInt(amounts: bigint[]): Promise; private _balancedAmountsWithSameValue; depositBonus(amounts: (number | string)[]): Promise; depositIsApproved(amounts: (number | string)[]): Promise; private depositApproveEstimateGas; depositApprove(amounts: (number | string)[], isMax?: boolean): Promise; private depositEstimateGas; deposit(amounts: (number | string)[], slippage?: number): Promise; getDepositInfo(): Promise; depositWrappedBalancedAmounts(): Promise; depositWrappedExpected(amounts: (number | string)[]): Promise; depositWrappedExpectedBigInt(amounts: bigint[]): Promise; depositWrappedBonus(amounts: (number | string)[]): Promise; depositWrappedIsApproved(amounts: (number | string)[]): Promise; private depositWrappedApproveEstimateGas; depositWrappedApprove(amounts: (number | string)[]): Promise; private depositWrappedEstimateGas; depositWrapped(amounts: (number | string)[], slippage?: number): Promise; getDepositWrappedInfo(): Promise; stakeIsApproved(lpTokenAmount: number | string): Promise; private stakeApproveEstimateGas; stakeApprove(lpTokenAmount: number | string): Promise; private stakeEstimateGas; stake(lpTokenAmount: number | string): Promise; private unstakeEstimateGas; unstake(lpTokenAmount: number | string): Promise; crvProfit: (address?: string) => Promise; claimableCrv(address?: string): Promise; claimCrvEstimateGas(): Promise; claimCrv(): Promise; userBoost: (address?: string) => Promise; private _userFutureBoostAndWorkingSupply; userFutureBoost: (address?: string) => Promise; userCrvApy: (address?: string) => Promise; userFutureCrvApy: (address?: string) => Promise; maxBoostedStake: (...addresses: string[]) => Promise | string>; rewardTokens: ((useApi?: any) => Promise<{ token: string; symbol: string; decimals: number; }[]>) & memoize.Memoized<(useApi?: any) => Promise<{ token: string; symbol: string; decimals: number; }[]>>; rewardsProfit: (address?: string) => Promise; claimableRewards(address?: string): Promise<{ token: string; symbol: string; amount: string; }[]>; claimRewardsEstimateGas(): Promise; claimRewards(): Promise; depositAndStakeExpected(amounts: (number | string)[]): Promise; depositAndStakeBonus(amounts: (number | string)[]): Promise; depositAndStakeIsApproved(amounts: (number | string)[]): Promise; private depositAndStakeApproveEstimateGas; depositAndStakeApprove(amounts: (number | string)[]): Promise; private depositAndStakeEstimateGas; depositAndStake(amounts: (number | string)[], slippage?: number): Promise; depositAndStakeWrappedExpected(amounts: (number | string)[]): Promise; depositAndStakeWrappedBonus(amounts: (number | string)[]): Promise; depositAndStakeWrappedIsApproved(amounts: (number | string)[]): Promise; private depositAndStakeWrappedApproveEstimateGas; depositAndStakeWrappedApprove(amounts: (number | string)[]): Promise; private depositAndStakeWrappedEstimateGas; depositAndStakeWrapped(amounts: (number | string)[], slippage?: number): Promise; private _depositAndStake; withdrawExpected(lpTokenAmount: number | string): Promise; withdrawExpectedBigInt(lpTokenAmount: bigint): Promise; withdrawIsApproved(lpTokenAmount: number | string): Promise; private withdrawApproveEstimateGas; withdrawApprove(lpTokenAmount: number | string): Promise; private withdrawEstimateGas; withdraw(lpTokenAmount: number | string, slippage?: number): Promise; withdrawWrappedExpected(lpTokenAmount: number | string): Promise; withdrawWrappedExpectedBigInt(lpTokenAmount: bigint): Promise; private withdrawWrappedEstimateGas; withdrawWrapped(lpTokenAmount: number | string, slippage?: number): Promise; withdrawImbalanceExpected(amounts: (number | string)[]): Promise; withdrawImbalanceBonus(amounts: (number | string)[]): Promise; withdrawImbalanceIsApproved(amounts: (number | string)[]): Promise; private withdrawImbalanceApproveEstimateGas; withdrawImbalanceApprove(amounts: (number | string)[]): Promise; private withdrawImbalanceEstimateGas; withdrawImbalance(amounts: (number | string)[], slippage?: number): Promise; withdrawImbalanceWrappedExpected(amounts: (number | string)[]): Promise; withdrawImbalanceWrappedBonus(amounts: (number | string)[]): Promise; private withdrawImbalanceWrappedEstimateGas; withdrawImbalanceWrapped(amounts: (number | string)[], slippage?: number): Promise; _withdrawOneCoinExpected(_lpTokenAmount: bigint, i: number): Promise; withdrawOneCoinExpected(lpTokenAmount: number | string, coin: string | number): Promise; withdrawOneCoinExpectedBigInt(lpTokenAmount: bigint, coin: string | number): Promise; withdrawOneCoinBonus(lpTokenAmount: number | string, coin: string | number): Promise; withdrawOneCoinIsApproved(lpTokenAmount: number | string): Promise; private withdrawOneCoinApproveEstimateGas; withdrawOneCoinApprove(lpTokenAmount: number | string): Promise; private withdrawOneCoinEstimateGas; withdrawOneCoin(lpTokenAmount: number | string, coin: string | number, slippage?: number): Promise; getWithdrawOneCoinInfo(): Promise; _withdrawOneCoinWrappedExpected(_lpTokenAmount: bigint, i: number): Promise; withdrawOneCoinWrappedExpected(lpTokenAmount: number | string, coin: string | number): Promise; withdrawOneCoinWrappedExpectedBigInt(lpTokenAmount: bigint, coin: string | number): Promise; withdrawOneCoinWrappedBonus(lpTokenAmount: number | string, coin: string | number): Promise; private withdrawOneCoinWrappedEstimateGas; withdrawOneCoinWrapped(lpTokenAmount: number | string, coin: string | number, slippage?: number): Promise; getWithdrawOneCoinWrappedInfo(): Promise; private _userLpTotalBalance; userBalances(address?: string): Promise; userWrappedBalances(address?: string): Promise; userLiquidityUSD(address?: string): Promise; baseProfit(address?: string): Promise<{ day: string; week: string; month: string; year: string; }>; userShare(address?: string): Promise<{ lpUser: string; lpTotal: string; lpShare: string; gaugeUser?: string; gaugeTotal?: string; gaugeShare?: string; }>; _swapExpected(i: number, j: number, _amount: bigint): Promise; swapExpected(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; swapExpectedBigInt(inputCoin: string | number, outputCoin: string | number, amount: bigint): Promise; _swapRequired(i: number, j: number, _amount: bigint, isUnderlying: boolean): Promise; swapRequired(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; swapWrappedRequired(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; swapPriceImpact(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; _swapContractAddress(): string; swapIsApproved(inputCoin: string | number, amount: number | string): Promise; private swapApproveEstimateGas; swapApprove(inputCoin: string | number, amount: number | string): Promise; private swapEstimateGas; swap(inputCoin: string | number, outputCoin: string | number, amount: number | string, slippage?: number): Promise; getSwapInfo(): Promise; _swapWrappedExpected(i: number, j: number, _amount: bigint): Promise; swapWrappedExpected(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; swapWrappedExpectedBigInt(inputCoin: string | number, outputCoin: string | number, amount: bigint): Promise; swapWrappedPriceImpact(inputCoin: string | number, outputCoin: string | number, amount: number | string): Promise; swapWrappedIsApproved(inputCoin: string | number, amount: number | string): Promise; private swapWrappedApproveEstimateGas; swapWrappedApprove(inputCoin: string | number, amount: number | string): Promise; private swapWrappedEstimateGas; swapWrapped(inputCoin: string | number, outputCoin: string | number, amount: number | string, slippage?: number): Promise; getSwapWrappedInfo(): Promise; gaugeOptimalDeposits: (...accounts: string[]) => Promise>; _getCoinIdx: (coin: string | number, useUnderlying?: boolean) => number; _getRates: () => Promise; private _storedRatesBN; getStoredRates(useUnderlying?: boolean): Promise; _underlyingPrices: () => Promise; _wrappedPrices: () => Promise; private getGaugeStatus; private getIsGaugeKilled; }