import { AbiItem, Callback, CeloTxObject, Contract, EventLog } from "@celo/connect"; import { EventEmitter } from "events"; import Web3 from "web3"; import { ContractEvent, EventOptions } from "./types"; export interface ERC20 extends Contract { clone(): ERC20; methods: { name(): CeloTxObject; symbol(): CeloTxObject; decimals(): CeloTxObject; totalSupply(): CeloTxObject; balanceOf(account: string): CeloTxObject; transfer(recipient: string, amount: number | string): CeloTxObject; allowance(owner: string, spender: string): CeloTxObject; approve(spender: string, amount: number | string): CeloTxObject; transferFrom(sender: string, recipient: string, amount: number | string): CeloTxObject; increaseAllowance(spender: string, addedValue: number | string): CeloTxObject; decreaseAllowance(spender: string, subtractedValue: number | string): CeloTxObject; }; events: { Approval: ContractEvent<{ owner: string; spender: string; value: string; 0: string; 1: string; 2: 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 newERC20(web3: Web3, address: string): ERC20;