import { BigNumber, BigNumberish, Contract } from 'ethers'; import { CrocContext } from './context'; import { CrocSurplusFlags } from './encoding/flags'; import { CrocTokenView, TokenQty } from './tokens'; type PriceRange = [number, number]; type TickRange = [number, number]; type BlockTag = number | string; type Params = { contract: Contract; path: number; calldata: string; txArgs?: { value?: BigNumberish; gasLimit?: BigNumberish; }; }; export declare class CrocPoolView { constructor(quoteToken: CrocTokenView, baseToken: CrocTokenView, poolIndex: number, context: Promise); isInit(): Promise; spotPrice(block?: BlockTag): Promise; displayPrice(block?: BlockTag): Promise; spotTick(block?: BlockTag): Promise; xykLiquidity(block?: BlockTag): Promise; curveState(block?: BlockTag): Promise; cumAmbientGrowth(block?: BlockTag): Promise; toDisplayPrice(spotPrice: number): Promise; fromDisplayPrice(dispPrice: number): Promise; displayToPinTick(dispPrice: number): Promise<[number, number]>; displayToNeighborTicks(dispPrice: number, nNeighbors?: number): Promise<{ below: number[]; above: number[]; }>; displayToNeighborTickPrices(dispPrice: number, nNeighbors?: number): Promise<{ below: number[]; above: number[]; }>; displayToOutsidePin(dispPrice: number): Promise<{ tick: number; price: number; isTickBelow: boolean; isPriceBelow: boolean; }>; initPool(initPrice: number): Promise<{ value: BigNumber; contract: Contract; fn: string; args: (string | number)[]; } | { value?: undefined; contract: Contract; fn: string; args: (string | number)[]; }>; mintAmbientBase(qty: TokenQty, limits: PriceRange, opts?: CrocLpOpts): Promise; mintAmbientQuote(qty: TokenQty, limits: PriceRange, opts?: CrocLpOpts): Promise; mintRangeBase(qty: TokenQty, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; mintRangeQuote(qty: TokenQty, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; burnAmbientLiq(liq: BigNumber, limits: PriceRange, opts?: CrocLpOpts): Promise; burnAmbientAll(limits: PriceRange, opts?: CrocLpOpts): Promise; burnRangeLiq(liq: BigNumber, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; harvestRange(range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; constructParams(calldata: string, txArgs?: { value?: BigNumberish; }): Promise; private mintAmbient; private boundLimits; private rangeToPrice; private transformLimits; private untransformLimits; private mintRange; private maskSurplusFlag; private applyLpConduit; private msgValAmbient; private msgValRange; private ethToAttach; private ethForAmbientQuote; private calcEthInQuote; private ethForRangeQuote; private normEth; private normQty; private makeEncoder; readonly baseToken: CrocTokenView; readonly quoteToken: CrocTokenView; readonly baseDecimals: Promise; readonly quoteDecimals: Promise; readonly useTrueBase: boolean; readonly context: Promise; readonly poolIndex: number; } export interface CrocLpOpts { surplus?: CrocSurplusFlags; floatingSlippage?: number; lpConduit?: string; } export {};