import { TransactionResponse } 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; export declare class CrocPoolView { constructor(quoteToken: CrocTokenView, baseToken: CrocTokenView, context: Promise); isInit(): Promise; spotPrice(block?: BlockTag): Promise; displayPrice(block?: BlockTag): Promise; spotTick(block?: BlockTag): Promise; xykLiquidity(block?: BlockTag): Promise; curveState(block?: BlockTag): Promise<{ priceRoot_: bigint; ambientSeeds_: bigint; concLiq_: bigint; seedDeflator_: bigint; concGrowth_: bigint; }>; cumAmbientGrowth(block?: BlockTag): Promise; toDisplayPrice(spotPrice: number | bigint): 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; 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: bigint, limits: PriceRange, opts?: CrocLpOpts): Promise; burnAmbientAll(limits: PriceRange, opts?: CrocLpOpts): Promise; burnRangeLiq(liq: bigint, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; harvestRange(range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise; private sendCmd; private mintAmbient; private boundLimits; private rangeToPrice; private transformLimits; private untransformLimits; private mintRange; private maskSurplusFlag; 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; } export interface CrocLpOpts { surplus?: CrocSurplusFlags; floatingSlippage?: number; } export {};