import { BigNumberish } from "ethers"; import { ProviderOrSigner } from "../core/types"; import { ChainId } from "./chain"; /** * Currency metadata. * @public */ export interface Currency { name: string; symbol: string; decimals: number; } export interface NativeToken extends Currency { wrapped: { address: string; name: string; symbol: string; }; } /** * Currency metadata & value. * @public */ export interface CurrencyValue extends Currency { value: string; displayValue: string; } /** * @internal */ export declare const NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"; /** * @internal */ export declare function getCurrencyMetadata(providerOrSigner: ProviderOrSigner, asset: string): Promise; /** * @internal */ export declare function getCurrencyValue(providerOrSigner: ProviderOrSigner, asset: string, price: BigNumberish): Promise; /** * @internal */ export declare function isNativeToken(tokenAddress: string): boolean; /** * @internal */ export declare function getCurrencyBalance(providerOrSigner: ProviderOrSigner, tokenAddress: string, walletAddress: string): Promise; export declare function getNativeTokenByChainId(chainId: ChainId): NativeToken;