import { Decimal, DecimalFormatter, Part } from '@phensley/decimal'; import { NumberParams } from '../../common/private'; import { NumberPattern } from '../../parsing/number'; import { GeneralInternals, NumberRenderer } from '../internals'; import { AbstractValue } from '../../utils/render'; /** * @internal */ export declare abstract class NumberFormatter implements NumberRenderer { private params; constructor(params: NumberParams); render(n: Decimal, pattern: NumberPattern, currencySymbol: string, percentSymbol: string, decimalSymbol: string, minInt: number, grouping?: boolean, exponent?: number): R; empty(): R; make(type: string, value: string): R; wrap(internal: GeneralInternals, raw: string, ...args: R[]): R; abstract value(): AbstractValue; abstract formatter(decimal: string, group: string): DecimalFormatter; } /** * @internal */ export declare class StringNumberFormatter extends NumberFormatter { value(): AbstractValue; formatter(_decimal: string, _group: string): DecimalFormatter; } /** * @internal */ export declare class PartsNumberFormatter extends NumberFormatter { value(): AbstractValue; formatter(decimal: string, group: string): DecimalFormatter; } /** * @internal */ export declare const RE_SYMBOL: RegExp; /** * @internal */ export declare const RE_DIGIT: RegExp; /** * @internal */ export declare const CURRENCY_SPACING_MATCHERS: { [x: string]: (s: string) => boolean; };