import { ethers } from "ethers"; import { BaseToken } from "../base/BaseToken"; /** * EVM Token implementation * Provides functionality for interacting with ERC20 tokens on EVM chains */ export declare class TokenEVM extends BaseToken { /** * Constructor for TokenEVM * @param provider The ethers provider */ constructor(provider: ethers.providers.Provider); /** * Create a token contract instance with minimal ABI * @private * @param address The token address * @returns The contract instance */ private _createContract; /** * Convert a BigNumber to a number with proper decimal handling * @private * @param amount The BigNumber amount * @param decimals The number of decimals * @returns The converted number */ private _convertBigNumberToNumber; /** * Fetch the number of decimals for the token (implementation for BaseToken) * @param address The token address * @returns The number of decimals * @protected */ protected _fetchDecimals(address: string): Promise; /** * Fetch the name of the token (implementation for BaseToken) * @param address The token address * @returns The token name * @protected */ protected _fetchName(address: string): Promise; /** * Fetch the symbol of the token (implementation for BaseToken) * @param address The token address * @returns The token symbol * @protected */ protected _fetchSymbol(address: string): Promise; /** * Fetch the URI for the token metadata (implementation for BaseToken) * @param address The token address * @returns The token URI * @protected */ protected _fetchUri(address: string): Promise; /** * Parse a token amount from human-readable to raw format * @param address The token address * @param amount The amount to parse * @returns The parsed amount as BigNumber */ parseAmount(address: string, amount: number | string): Promise; /** * Format a raw token amount to human-readable format * @param address The token address * @param amount The raw amount to format as BigNumber * @returns The formatted amount */ formatAmount(address: string, amount: ethers.BigNumber): Promise; /** * Get the token balance for a specific owner * @param owner The address of the token owner * @param tokenAddress The token address * @returns The token balance as a number */ getBalance(owner: string, tokenAddress: string): Promise; /** * Get the allowance amount that a spender is allowed to use on behalf of an owner * @param owner The address of the token owner * @param tokenAddress The token address * @param spender The address of the spender * @returns The allowance amount as a number */ getAllowance(owner: string, tokenAddress: string, spender: string): Promise; /** * Approve a spender to spend tokens on behalf of the owner * @param tokenAddress The token address * @param spender The address of the spender * @param amount The amount to approve * @returns A populated transaction that can be signed and sent */ approve(tokenAddress: string, spender: string, amount: number | string): Promise; } //# sourceMappingURL=TokenEVM.d.ts.map