import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { EventOptions } from "./types"; export interface IUniswapV3PoolState extends Contract { clone(): IUniswapV3PoolState; methods: { 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; }>; feeGrowthGlobal0X128(): CeloTxObject; feeGrowthGlobal1X128(): CeloTxObject; protocolFees(): CeloTxObject<{ token0: string; token1: string; 0: string; 1: string; }>; liquidity(): 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; }>; tickBitmap(wordPosition: number | string): CeloTxObject; 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; }>; observations(index: number | string): CeloTxObject<{ blockTimestamp: string; tickCumulative: string; secondsPerLiquidityCumulativeX128: string; initialized: boolean; 0: string; 1: string; 2: string; 3: boolean; }>; }; events: { allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newIUniswapV3PoolState(web3: Web3, address: string): IUniswapV3PoolState;