import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { ContractEvent, EventOptions } from "./types"; export interface IUniswapV2Pair extends Contract { clone(): IUniswapV2Pair; methods: { name(): CeloTxObject; symbol(): CeloTxObject; decimals(): CeloTxObject; totalSupply(): CeloTxObject; balanceOf(owner: string): CeloTxObject; allowance(owner: string, spender: string): CeloTxObject; approve(spender: string, value: number | string): CeloTxObject; transfer(to: string, value: number | string): CeloTxObject; transferFrom(from: string, to: string, value: number | string): CeloTxObject; DOMAIN_SEPARATOR(): CeloTxObject; PERMIT_TYPEHASH(): CeloTxObject; nonces(owner: string): CeloTxObject; permit(owner: string, spender: string, value: number | string, deadline: number | string, v: number | string, r: string | number[], s: string | number[]): CeloTxObject; MINIMUM_LIQUIDITY(): CeloTxObject; factory(): CeloTxObject; token0(): CeloTxObject; token1(): CeloTxObject; getReserves(): CeloTxObject<{ reserve0: string; reserve1: string; blockTimestampLast: string; 0: string; 1: string; 2: string; }>; price0CumulativeLast(): CeloTxObject; price1CumulativeLast(): CeloTxObject; kLast(): CeloTxObject; mint(to: string): CeloTxObject; burn(to: string): CeloTxObject<{ amount0: string; amount1: string; 0: string; 1: string; }>; swap(amount0Out: number | string, amount1Out: number | string, to: string, data: string | number[]): CeloTxObject; skim(to: string): CeloTxObject; sync(): CeloTxObject; initialize(arg0: string, arg1: string): CeloTxObject; }; events: { Approval: ContractEvent<{ owner: string; spender: string; value: string; 0: string; 1: string; 2: string; }>; Burn: ContractEvent<{ sender: string; amount0: string; amount1: string; to: string; 0: string; 1: string; 2: string; 3: string; }>; Mint: ContractEvent<{ sender: string; amount0: string; amount1: string; 0: string; 1: string; 2: string; }>; Swap: ContractEvent<{ sender: string; amount0In: string; amount1In: string; amount0Out: string; amount1Out: string; to: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; }>; Sync: ContractEvent<{ reserve0: string; reserve1: string; 0: string; 1: string; }>; Transfer: ContractEvent<{ from: string; to: string; value: string; 0: string; 1: string; 2: string; }>; allEvents: (options?: EventOptions, cb?: Callback) => EventEmitter; }; } export declare const ABI: AbiItem[]; export declare function newIUniswapV2Pair(web3: Web3, address: string): IUniswapV2Pair;