import { Token } from '@moraswap/sdk-core'; import { ChainId } from '../util'; import { IMulticallProvider } from './multicall-provider'; import { ProviderConfig } from './provider'; /** * Provider for getting token data. * * @export * @interface ITokenProvider */ export interface ITokenProvider { /** * Gets the token at each address. Any addresses that are not valid ERC-20 are ignored. * * @param addresses The token addresses to get. * @param [providerConfig] The provider config. * @returns A token accessor with methods for accessing the tokens. */ getTokens(addresses: string[], providerConfig?: ProviderConfig): Promise; } export type TokenAccessor = { getTokenByAddress(address: string): Token | undefined; getTokenBySymbol(symbol: string): Token | undefined; getAllTokens: () => Token[]; }; export declare const USDC_NEON: Token; export declare const USDT_NEON: Token; export declare const WBTC_NEON: Token; export declare const WSOL_NEON: Token; export declare const MORA_NEON: Token; export declare const USDC_NEON_DEVNET: Token; export declare const USDT_NEON_DEVNET: Token; export declare const WBTC_NEON_DEVNET: Token; export declare const DAI_NEON_DEVNET: Token; export declare const WSOL_NEON_DEVNET: Token; export declare const USDC_ZKSYNC: Token; export declare const USDT_ZKSYNC: Token; export declare class TokenProvider implements ITokenProvider { private chainId; protected multicall2Provider: IMulticallProvider; constructor(chainId: ChainId, multicall2Provider: IMulticallProvider); private getTokenSymbol; private getTokenDecimals; getTokens(_addresses: string[], providerConfig?: ProviderConfig): Promise; } export declare const DAI_ON: (chainId: ChainId) => Token; export declare const USDT_ON: (chainId: ChainId) => Token; export declare const USDC_ON: (chainId: ChainId) => Token; export declare const WNATIVE_ON: (chainId: ChainId) => Token;