import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { ContractEvent, EventOptions } from "./types"; export interface IUniswapV3Factory extends Contract { clone(): IUniswapV3Factory; methods: { owner(): CeloTxObject; feeAmountTickSpacing(fee: number | string): CeloTxObject; getPool(tokenA: string, tokenB: string, fee: number | string): CeloTxObject; createPool(tokenA: string, tokenB: string, fee: number | string): CeloTxObject; setOwner(_owner: string): CeloTxObject; enableFeeAmount(fee: number | string, tickSpacing: number | string): CeloTxObject; }; events: { FeeAmountEnabled: ContractEvent<{ fee: string; tickSpacing: string; 0: string; 1: string; }>; OwnerChanged: ContractEvent<{ oldOwner: string; newOwner: string; 0: string; 1: string; }>; PoolCreated: ContractEvent<{ token0: string; token1: string; fee: string; tickSpacing: string; pool: string; 0: string; 1: string; 2: string; 3: string; 4: string; }>; allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newIUniswapV3Factory(web3: Web3, address: string): IUniswapV3Factory;