import { IWallet, Contract as _Contract, TransactionReceipt, BigNumber, Event, TransactionOptions } from "@ijstech/eth-contract"; export interface IDeployParams { name: string; symbol: string; } export interface IAllowanceParams { owner: string; spender: string; } export interface IApproveParams { spender: string; amount: number | BigNumber; } export interface IDecreaseAllowanceParams { spender: string; subtractedValue: number | BigNumber; } export interface IIncreaseAllowanceParams { spender: string; addedValue: number | BigNumber; } export interface ITransferParams { to: string; amount: number | BigNumber; } export interface ITransferFromParams { from: string; to: string; amount: number | BigNumber; } export declare class ERC20 extends _Contract { static _abi: any; constructor(wallet: IWallet, address?: string); deploy(params: IDeployParams, options?: TransactionOptions): Promise; parseApprovalEvent(receipt: TransactionReceipt): ERC20.ApprovalEvent[]; decodeApprovalEvent(event: Event): ERC20.ApprovalEvent; parseTransferEvent(receipt: TransactionReceipt): ERC20.TransferEvent[]; decodeTransferEvent(event: Event): ERC20.TransferEvent; allowance: { (params: IAllowanceParams, options?: TransactionOptions): Promise; }; approve: { (params: IApproveParams, options?: TransactionOptions): Promise; call: (params: IApproveParams, options?: TransactionOptions) => Promise; txData: (params: IApproveParams, options?: TransactionOptions) => Promise; }; balanceOf: { (account: string, options?: TransactionOptions): Promise; }; decimals: { (options?: TransactionOptions): Promise; }; decreaseAllowance: { (params: IDecreaseAllowanceParams, options?: TransactionOptions): Promise; call: (params: IDecreaseAllowanceParams, options?: TransactionOptions) => Promise; txData: (params: IDecreaseAllowanceParams, options?: TransactionOptions) => Promise; }; increaseAllowance: { (params: IIncreaseAllowanceParams, options?: TransactionOptions): Promise; call: (params: IIncreaseAllowanceParams, options?: TransactionOptions) => Promise; txData: (params: IIncreaseAllowanceParams, options?: TransactionOptions) => Promise; }; name: { (options?: TransactionOptions): Promise; }; symbol: { (options?: TransactionOptions): Promise; }; totalSupply: { (options?: TransactionOptions): Promise; }; transfer: { (params: ITransferParams, options?: TransactionOptions): Promise; call: (params: ITransferParams, options?: TransactionOptions) => Promise; txData: (params: ITransferParams, options?: TransactionOptions) => Promise; }; transferFrom: { (params: ITransferFromParams, options?: TransactionOptions): Promise; call: (params: ITransferFromParams, options?: TransactionOptions) => Promise; txData: (params: ITransferFromParams, options?: TransactionOptions) => Promise; }; private assign; } export declare module ERC20 { interface ApprovalEvent { owner: string; spender: string; value: BigNumber; _event: Event; } interface TransferEvent { from: string; to: string; value: BigNumber; _event: Event; } }