import type { Opts, MaybeArray, Brand } from "@xlabs-xyz/const-utils"; import type { Rationalish, ToFixedOptions } from "./rational.js"; import { Rational } from "./rational.js"; import type { Kind, KindWithHuman, SymbolsOf, DecimalSymbolsOf } from "./kind.js"; import { type RejectScalar, Amount } from "./amount.js"; export declare class _Conversion { readonly ratio: Rational; readonly num: NK; readonly den: DK; private constructor(); static from(ratio: Rationalish, num: RejectScalar, den: RejectScalar): Conversion; static from(num: RejectScalar>, den: RejectScalar>): Conversion; static parse(str: string, numKinds: MaybeArray, denKinds: MaybeArray): Conversion; static hasNum, N extends string>(conv: C, numName: N): conv is Extract; static hasDen, N extends string>(conv: C, denName: N): conv is Extract; toString = SymbolsOf>(opts?: Opts; precision: number | (NS extends DecimalSymbolsOf ? DecimalSymbolsOf : never); }>): string; toJSON(opts?: Opts): string; in, DS extends SymbolsOf>(numUnit: NS, denUnit: DS): Rational; mul(scalar: Rationalish | Amount>): Conversion; div(scalar: Rationalish | Amount>): Conversion; inv(): Conversion; combine(other: Conversion): Conversion; eq(other: Conversion): boolean; ne(other: Conversion): boolean; gt(other: Conversion): boolean; ge(other: Conversion): boolean; lt(other: Conversion): boolean; le(other: Conversion): boolean; private checkKinds; private static checkedNew; private static isAmount; } type Conversion = NK extends Kind ? DK extends Kind ? _Conversion : never : never; declare const Conversion: typeof _Conversion; export { Conversion }; //# sourceMappingURL=conversion.d.ts.map