import BigNumber from 'bignumber.js';
import { AnyCurrencyType } from './CurrencyType';
import { NetworkTokens, USDollars, DataCredits, BaseCurrencyType, TestNetworkTokens, Ticker } from './currency_types';
type StringFormatOptions = {
    decimalSeparator?: string;
    groupSeparator?: string;
    showTicker?: boolean;
    roundingMode?: BigNumber.RoundingMode;
    showTrailingZeroes?: boolean;
};
export default class Balance<T extends BaseCurrencyType> {
    type: T;
    integerBalance: number;
    floatBalance: number;
    bigBalance: BigNumber;
    bigInteger: BigNumber;
    constructor(integerBalance: number | undefined, type: T);
    static fromFloat(float: number, currencyType: AnyCurrencyType): Balance<AnyCurrencyType>;
    static fromIntAndTicker(integerBalance: number, ticker?: Ticker): Balance<BaseCurrencyType>;
    static fromFloatAndTicker(float: number, ticker: Ticker): Balance<AnyCurrencyType>;
    toString(maxDecimalPlaces?: number, options?: StringFormatOptions): string;
    plus(balance: Balance<T>): Balance<T>;
    minus(balance: Balance<T>): Balance<T>;
    times(n: number): Balance<T>;
    dividedBy(n: number): Balance<T>;
    toNetworkTokens(oraclePrice?: Balance<USDollars>): Balance<NetworkTokens>;
    toTestNetworkTokens(oraclePrice?: Balance<USDollars>): Balance<TestNetworkTokens>;
    toUsd(oraclePrice?: Balance<USDollars>): Balance<USDollars>;
    toDataCredits(oraclePrice?: Balance<USDollars>): Balance<DataCredits>;
}
export {};
//# sourceMappingURL=Balance.d.ts.map