import BigNumber from "bignumber.js"; import { IFormatNumberOptions } from "format-number"; import { BigNumberString } from "../constants"; import { SerializedToken, Token } from "./Token"; export interface SerializedTokenAmount { _type: "TokenAmount"; token: SerializedToken; amount: BigNumberString; } declare class CurrencyAmount { readonly token: Token; readonly amount: BigNumber; readonly scaledAmount: number; protected constructor(token: Token, amount: BigNumber); get raw(): BigNumber; toSignificant(significantDigits?: number, format?: IFormatNumberOptions): string; toFixed(decimalPlaces?: number, format?: IFormatNumberOptions): string; toExact(format?: IFormatNumberOptions): string; } export declare class TokenAmount extends CurrencyAmount { readonly token: Token; constructor(token: Token, amount: BigNumber | string); add(other: TokenAmount): TokenAmount; subtract(other: TokenAmount): TokenAmount; toJSON: () => { _type: string; amount: string; token: { _type: string; address: string; chainId: import("../constants").ChainId; decimals: number; symbol: string | undefined; name: string | undefined; imageUri: string | undefined; }; }; static isSerializedTokenAmount: (obj: Record) => obj is SerializedTokenAmount; static parseJson: (ta: SerializedTokenAmount) => TokenAmount; } export {};