import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { EventOptions } from "./types"; export interface IUniswapV3Pool extends Contract { clone(): IUniswapV3Pool; methods: { burn(tickLower: number | string, tickUpper: number | string, amount: number | string): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; collect(recipient: string, tickLower: number | string, tickUpper: number | string, amount0Requested: number | string, amount1Requested: number | string): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; factory(): CeloTxObject; fee(): CeloTxObject; feeGrowthGlobal0X128(): CeloTxObject; feeGrowthGlobal1X128(): CeloTxObject; flash(recipient: string, amount0: number | string, amount1: number | string, data: string | number[]): CeloTxObject; increaseObservationCardinalityNext(observationCardinalityNext: number | string): CeloTxObject; initialize(sqrtPriceX96: number | string): CeloTxObject; liquidity(): CeloTxObject; maxLiquidityPerTick(): CeloTxObject; mint(recipient: string, tickLower: number | string, tickUpper: number | string, amount: number | string, data: string | number[]): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; observations(index: number | string): CeloTxObject<{ blockTimestamp: string; tickCumulative: string; secondsPerLiquidityCumulativeX128: string; initialized: boolean; 0: string; 1: string; 2: string; 3: boolean; }>; positions(key: string | number[]): CeloTxObject<{ _liquidity: string; feeGrowthInside0LastX128: string; feeGrowthInside1LastX128: string; tokensOwed0: string; tokensOwed1: string; 0: string; 1: string; 2: string; 3: string; 4: string; }>; protocolFees(): CeloTxObject<{ token0: string; token1: string; 0: string; 1: string; }>; slot0(): CeloTxObject<{ sqrtPriceX96: string; tick: string; observationIndex: string; observationCardinality: string; observationCardinalityNext: string; feeProtocol: string; unlocked: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: boolean; }>; swap(recipient: string, zeroForOne: boolean, amountSpecified: number | string, sqrtPriceLimitX96: number | string, data: string | number[]): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; tickBitmap(wordPosition: number | string): CeloTxObject; tickSpacing(): CeloTxObject; ticks(tick: number | string): CeloTxObject<{ liquidityGross: string; liquidityNet: string; feeGrowthOutside0X128: string; feeGrowthOutside1X128: string; tickCumulativeOutside: string; secondsPerLiquidityOutsideX128: string; secondsOutside: string; initialized: boolean; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: boolean; }>; token0(): CeloTxObject; token1(): CeloTxObject; }; events: { allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newIUniswapV3Pool(web3: Web3, address: string): IUniswapV3Pool;