import { ethers } from 'ethers'; export interface TokenInfo { address: string; name: string; symbol: string; decimals: number; } /** * Utility functions for token information and formatting */ export declare class TokenUtils { /** * Get token information by address and network * @param network Network key (e.g., 'base', 'base_sepolia') * @param tokenAddress Token contract address * @returns Token information or undefined if not found */ static getTokenInfo(network: string, tokenAddress: string): TokenInfo | undefined; /** * Get all supported tokens for a network * @param network Network key (e.g., 'base', 'base_sepolia') * @returns Array of token information */ static getTokensByNetwork(network: string): TokenInfo[]; /** * Format token amount for display using correct decimals * @param amount Amount in smallest unit (wei-like) * @param tokenAddress Token contract address * @param network Network key * @param maxDecimals Maximum decimal places to show (default: 6) * @returns Formatted amount string */ static formatTokenAmount(amount: ethers.BigNumber | string | number, tokenAddress: string, network: string, maxDecimals?: number): string; /** * Parse token amount from string using correct decimals * @param amountString Amount as string * @param tokenAddress Token contract address * @param network Network key * @returns Amount in smallest unit (BigNumber) */ static parseTokenAmount(amountString: string, tokenAddress: string, network: string): ethers.BigNumber; /** * Get token symbol by address and network * @param network Network key * @param tokenAddress Token contract address * @returns Token symbol or 'UNKNOWN' */ static getTokenSymbol(network: string, tokenAddress: string): string; /** * Get token name by address and network * @param network Network key * @param tokenAddress Token contract address * @returns Token name or 'Unknown Token' */ static getTokenName(network: string, tokenAddress: string): string; /** * Get token decimals by address and network * @param network Network key * @param tokenAddress Token contract address * @returns Token decimals or 18 (default) */ static getTokenDecimals(network: string, tokenAddress: string): number; /** * Check if token is supported on network * @param network Network key * @param tokenAddress Token contract address * @returns True if token is supported */ static isTokenSupported(network: string, tokenAddress: string): boolean; /** * Get network key from chain ID for token lookup * @param chainId Chain ID number * @returns Network key or undefined */ static getNetworkKeyFromChainId(chainId: number): string | undefined; /** * Format token amount with symbol * @param amount Amount in smallest unit * @param tokenAddress Token contract address * @param network Network key * @param maxDecimals Maximum decimal places * @returns Formatted amount with symbol (e.g., "100.50 USDC") */ static formatTokenAmountWithSymbol(amount: ethers.BigNumber | string | number, tokenAddress: string, network: string, maxDecimals?: number): string; } //# sourceMappingURL=token-utils.d.ts.map