import { UniswapV3Position } from './UniswapV3Postion'; import { User } from './User'; import { IFees, IPoolRange, IVaultAssetInfo, IVaultAssetInfoInternal } from './interfaces'; declare class UniswapV3 { private fees; private assetInfo; private referenceAsset; private _positions; private _positionsFees; private xchangeRates; private variableRateHistory; private readonly debug; constructor(assetInfo: IVaultAssetInfo, fees?: { protocol: number; }, referenceAsset?: string, debug?: boolean); /** * Add fixed info in the reference currency * @param user * @param valueInReferenceAsset * @returns */ addPosition(user: User, valueInReferenceAsset: number, range: IPoolRange): this; evolve(variableRateApr: number, priceX?: number, priceY?: number): this; isInRange(position: UniswapV3Position): boolean; getPositions(uuid: string): UniswapV3Position[]; private calculateYield; private updateFixedPositions; private updatePositions; private updatePosition; private updateXchangeRates; removeLiquidity(user: User, nftId: string, percentage?: number, autoSwap?: boolean): this; collectFees(user: User, nftId: string, autoSwap?: boolean): this; status(): { assetInfo: IVaultAssetInfoInternal; }; showPositions(): { asset: string; value: number; uuid: string; type: string; }[]; getLastVariableRate(): any; getFees(): IFees; } export { UniswapV3 };