import { Fraction } from 'fraction.js'; import { Unit } from './Unit.ts'; import { BaseUnitDefinition, DerivedUnitDefinition, FactorDefinition, QuantityFormatOptions, UnitFormatPart } from './types'; import { ApproximateEqualityThreshold } from './float.ts'; export declare class Quantity, F extends Record, D extends Record> { readonly value: number; readonly unit: Unit; constructor(value: number, unit: Unit); get isUnitless(): boolean; inverse(): Quantity; negative(): Quantity; isEqual(rhs: Quantity): boolean; isApproxEqual(rhs: Quantity, thresholds?: ApproximateEqualityThreshold): boolean; pow(num: Fraction): Quantity; multiply(rhs: Quantity | number): Quantity; divide(rhs: Quantity): Quantity; /** Returns a new object that corresponds to this quantity in different units * @example * const q = new Quantity(42, SI.parseUnit('kg')); * const q2 = q.inUnits(SI.parseUnit('g')); * console.log(q2.value); // 42000 */ inUnits(targetUnit: Unit): Quantity; add(rhs: Quantity): Quantity; /** Returns equivalent of this - rhs */ subtract(rhs: Quantity): Quantity; /** returns equivalent of this > rhs */ greaterThan(rhs: Quantity): boolean; /** returns equivalent of this < rhs */ lessThan(rhs: Quantity): boolean; toString(opts?: QuantityFormatOptions): string; toParts(opts?: QuantityFormatOptions): UnitFormatPart[]; }