import { UnitTypeIdSymbol } from './constants.js'; import isUnitType from './is-unit-type.js'; import type NumberUnit from './number-unit.js'; import type { Definitions, Unit, UnitMap } from './types.js'; export type UnitTypeWithUnits = UnitType & { readonly [K in keyof D]: Unit; }; export default class UnitType { #private; static create: (definitions: D) => UnitTypeWithUnits; static get [UnitTypeIdSymbol](): string; static isInstance(instance: unknown): boolean; static [Symbol.hasInstance](instance: unknown): boolean; static equals(a: UnitType, b: UnitType): boolean; static isUnitType: typeof isUnitType; units: UnitMap; baseUnit: Unit; defaultUnit: Unit; constructor(definitions: Definitions, initSymbol: symbol); equals(other: UnitType): boolean; parse(str: string): NumberUnit; toString(): string; toJSON(): Definitions; get ZERO(): NumberUnit; }