import type BigNumber from 'bignumber.js'; import type { AnyAsset, Asset, AssetAmount, BaseAmount, SecuredAsset, SynthAsset, TokenAsset, TradeAsset } from './'; /** * Utility Class to combine an amount (asset/base) with the Asset * */ declare class BaseCryptoAmount { baseAmount: BaseAmount; readonly asset: T; constructor(amount: BaseAmount, asset: T); plus(v: BaseCryptoAmount): BaseCryptoAmount; minus(v: BaseCryptoAmount): BaseCryptoAmount; times(v: BaseCryptoAmount | number | BigNumber): BaseCryptoAmount; div(v: BaseCryptoAmount | number | BigNumber): BaseCryptoAmount; lt(v: BaseCryptoAmount): boolean; lte(v: BaseCryptoAmount): boolean; gt(v: BaseCryptoAmount): boolean; gte(v: BaseCryptoAmount): boolean; eq(v: BaseCryptoAmount): boolean; formatedAssetString(): string; assetAmountFixedString(): string; get assetAmount(): AssetAmount; /** * This guard protects against trying to perform math with different assets * * Example. * const x = new CryptoAmount(assetAmount(1),AssetBTC) * const y = new CryptoAmount(assetAmount(1),AssetETH) * * x.plus(y) <- will throw error "cannot perform math on 2 diff assets BTC.BTC ETH.ETH * * @param v - CryptoNumeric */ private check; } export declare class CryptoAmount extends BaseCryptoAmount { } export declare class AssetCryptoAmount extends BaseCryptoAmount { } export declare class TokenCryptoAmount extends BaseCryptoAmount { } export declare class SynthCryptoAmount extends BaseCryptoAmount { } export declare class TradeCryptoAmount extends BaseCryptoAmount { } export declare class SecuredCryptoAmount extends BaseCryptoAmount { } export {};