import BigNumber from "bignumber.js"; import Web3 from "web3"; import { FeeAmount, TickConstructorArgs } from "@uniswap/v3-sdk"; import { Address, Pair, Snapshot } from "../pair"; type JSBIString = string; interface PairUniswapV3Snapshot extends Snapshot { fee: FeeAmount; sqrtRatioX96: JSBIString; liquidity: JSBIString; tickCurrent: number; ticks: TickConstructorArgs[]; } export declare const configureUniV3RefreshMaxLoopN: (n: number) => void; export declare class PairUniswapV3 extends Pair { private web3; private pairAddr; private initData?; allowRepeats: boolean; private swappaPool; private swapPool; private fee; private sqrtRatioX96; private liquidity; private tickCurrent; private ticks; constructor(chainId: number, web3: Web3, pairAddr: Address, initData?: { tokenA: Address; tokenB: Address; fee: FeeAmount; } | undefined); protected _init(): Promise<{ pairKey: string; tokenA: string; tokenB: string; }>; refresh(): Promise; protected swapExtraData(): string; private get tickSpacing(); outputAmount(inputToken: string, inputAmount: BigNumber): BigNumber; inputAmount(outputToken: string, outputAmount: BigNumber): BigNumber; calculateSwap(zeroForOne: boolean, amountSpecifiedV: BigNumber): BigNumber; snapshot(): PairUniswapV3Snapshot; restore(snapshot: PairUniswapV3Snapshot): void; } export {};