import { providers } from 'ethers'; import BaseService from '../commons/BaseService'; import { EthereumTransactionTypeExtended, tEthereumAddress } from '../commons/types'; import { IERC20Detailed } from './typechain/IERC20Detailed'; export interface IERC20ServiceInterface { decimalsOf: (token: tEthereumAddress) => Promise; getTokenData: (token: tEthereumAddress) => Promise; isApproved: (args: ApproveType) => Promise; approve: (args: ApproveType) => EthereumTransactionTypeExtended; } export declare type ApproveType = { user: tEthereumAddress; token: tEthereumAddress; spender: tEthereumAddress; amount: string; }; export declare type TokenMetadataType = { name: string; symbol: string; decimals: number; address: string; }; export declare class ERC20Service extends BaseService implements IERC20ServiceInterface { readonly tokenDecimals: Record; readonly tokenMetadata: Record; constructor(provider: providers.Provider); approve({ user, token, spender, amount }: ApproveType): EthereumTransactionTypeExtended; isApproved({ user, token, spender, amount }: ApproveType): Promise; decimalsOf(token: tEthereumAddress): Promise; getTokenData(token: tEthereumAddress): Promise; } //# sourceMappingURL=index.d.ts.map