import BigNumber from "bignumber.js"; import { Contract } from "@ethersproject/contracts"; import EthereumConfig from "./ethereum"; import type { CurrencyConfig, Tx } from "../../common/types"; export interface ERC20CurrencyConfig extends CurrencyConfig { contractAddress: string; } export default class ERC20Config extends EthereumConfig { private contractInstance; private contractAddress; constructor(config: ERC20CurrencyConfig); getContract(): Promise; getTx(txId: string): Promise; /** * Returns the fee in CONTRACT CURRENCY UNITS equivalent to the fee derived via gas currency units, i.e Wei * @param amount * @param to * @returns */ getFee(amount: BigNumber.Value, to?: string): Promise; createTx(amount: BigNumber.Value, to: string, _fee?: string): Promise<{ txId: string | undefined; tx: any; }>; getGas(): Promise<[BigNumber, number]>; } 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; })[];