import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { EventOptions } from "./types"; export interface IUniswapV3PoolActions extends Contract { clone(): IUniswapV3PoolActions; methods: { initialize(sqrtPriceX96: number | string): 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; }>; collect(recipient: string, tickLower: number | string, tickUpper: number | string, amount0Requested: number | string, amount1Requested: number | string): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; burn(tickLower: number | string, tickUpper: number | string, amount: number | string): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; swap(recipient: string, zeroForOne: boolean, amountSpecified: number | string, sqrtPriceLimitX96: number | string, data: string | number[]): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; flash(recipient: string, amount0: number | string, amount1: number | string, data: string | number[]): CeloTxObject; increaseObservationCardinalityNext(observationCardinalityNext: number | string): CeloTxObject; }; events: { allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newIUniswapV3PoolActions(web3: Web3, address: string): IUniswapV3PoolActions;