import BigNumber from 'bignumber.js'; import { Contract } from '@ethersproject/contracts'; import type { TokenConfig, Tx } from '@irys/upload-core'; import EthereumConfig from './ethereum'; export interface ERC20TokenConfig extends TokenConfig { contractAddress: string; } export declare class BaseERC20Token extends EthereumConfig { contractInstance: Contract; contractAddress: string; constructor(config: ERC20TokenConfig); getContract(): Promise; getTx(txId: string): Promise; getFee(amount: BigNumber.Value, to?: string): Promise; createTx(amount: BigNumber.Value, to: string, _fee?: string): Promise<{ txId: string | undefined; tx: any; }>; } export default BaseERC20Token; export declare const erc20abi: ({ constant: boolean; inputs: { name: string; type: string; }[]; name: string; outputs: { name: string; type: string; }[]; payable: boolean; stateMutability: string; type: string; anonymous?: undefined; } | { payable: boolean; stateMutability: string; type: string; constant?: undefined; inputs?: undefined; name?: undefined; outputs?: undefined; anonymous?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; name: string; type: string; }[]; name: string; type: string; constant?: undefined; outputs?: undefined; payable?: undefined; stateMutability?: undefined; })[];