import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { EventOptions } from "./types"; export interface PairUniswapV3 extends Contract { clone(): PairUniswapV3; methods: { swap(input: string, arg1: string, to: string, data: string | number[]): CeloTxObject; uniswapV3SwapCallback(amount0Delta: number | string, amount1Delta: number | string, arg2: string | number[]): CeloTxObject; getOutputAmount(input: string, output: string, amountIn: number | string, data: string | number[]): CeloTxObject; getPoolTicks(pool: string, maxLoopN: number | string): CeloTxObject<{ sqrtPriceX96: string; tick: string; liquidity: string; populatedTicks0: { tick: string; liquidityNet: string; liquidityGross: string; }[]; populatedTicks1: { tick: string; liquidityNet: string; liquidityGross: string; }[]; populatedTicks2: { tick: string; liquidityNet: string; liquidityGross: string; }[]; populatedTicks3: { tick: string; liquidityNet: string; liquidityGross: string; }[]; populatedTicks4: { tick: string; liquidityNet: string; liquidityGross: string; }[]; 0: string; 1: string; 2: string; 3: { tick: string; liquidityNet: string; liquidityGross: string; }[]; 4: { tick: string; liquidityNet: string; liquidityGross: string; }[]; 5: { tick: string; liquidityNet: string; liquidityGross: string; }[]; 6: { tick: string; liquidityNet: string; liquidityGross: string; }[]; 7: { tick: string; liquidityNet: string; liquidityGross: string; }[]; }>; }; events: { allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newPairUniswapV3(web3: Web3, address: string): PairUniswapV3;