import { ChainConfig, EstimateAmountOutParams, INativeToken, TokenAccount, TokenMetadata } from '../types'; import { AbstractChain } from './abstract'; export declare class MON extends AbstractChain { static readonly WMON_ADDRESS = "0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A"; static readonly MULTICALL3_CONTRACT_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11"; static readonly MON_TOKEN: INativeToken; evmChainId: number; private readonly rpc; private readonly provider; private readonly programConfig; constructor({ rpcConfig, gasFeeConfig, programConfig }: ChainConfig); /** * Gets balances for multiple addresses * @param addresses Array of addresses to check balances for * @returns Promise Array of balance strings */ getBalances(addresses: string[]): Promise; getAccountOwnedTokens(addresses: string[]): Promise>>; estimateAmountOut(params: EstimateAmountOutParams): Promise; /** * Gets metadata for a token * @param tokenAddress Address of the token * @returns Promise Token metadata or null if not found */ getTokenMetadata(tokenAddress: string): Promise; deposit(receiver: string, amount: string, senderAddress: string): Promise; }