import { Tx } from "web3/eth/types"; import { Provider } from "web3/providers"; import PromiEvent from "web3/promiEvent"; import { TransactionReceipt, EventLog } from "web3/types"; interface Transaction { receipt: TransactionReceipt; tx: string; logs: EventLog[]; } declare type BigNumber = string; export interface ERC20Contract { totalSupply(options?: Tx): Promise; balanceOf(who: string, options?: Tx): Promise; transfer(to: string, value: BigNumber, options?: Tx): PromiEvent; allowance(owner: string, spender: string, options?: Tx): Promise; transferFrom(from: string, to: string, value: BigNumber, options?: Tx): PromiEvent; approve(spender: string, value: BigNumber, options?: Tx): PromiEvent; address: string; } export interface ERC20Artifact { new (address: string): ERC20Contract; address: string; "new"(options?: Tx): Promise; at(address: string): Promise; deployed(): Promise; setProvider(provider: Provider): void; } export {};