import type { TextPart } from '../../treb-base-types/src/index'; /** * essentially number formats have a core section with the number * (possibly scaled), and some representation before and after. * exponential and percentage notation scale the number. exponential * is only allowed after the number. percent can come before or after. * * converting to class, default values * * FIXME: this should be an interface, you can create a default instance * */ export declare class NumberFormatSection { /** flag: this is a date format */ date_format: boolean; /** flag: this is the string section, don't format numbers */ string_format: boolean; /** flag: this is a fractional format */ fraction_format: boolean; /** flag: time in 12-hour format */ twelve_hour: boolean; /** fraction: fixed denominator */ fraction_denominator: number; /** fraction includes integer */ fraction_integer: boolean; /** align fraction digits (using ???) [TODO] */ fraction_align: number; /** * fraction denominator digits. we will limit to [1,4] but this can * be zero if there's an explicit denominator. */ fraction_denominator_digits: number; /** prepend zeros */ integer_min_digits: number; /** append zeros */ decimal_min_digits: number; /** append decimal digits, but not trailing zeros */ decimal_max_digits: number; /** use grouping (only supports groups of 3, no matter where you put the ,) */ grouping: boolean; /** this is a flag for switching whether we append strings to prefix or suffix */ has_number_format: boolean; /** leading string(s) */ prefix: TextPart[]; /** trailing string(s) */ suffix: TextPart[]; /** * thousands scaling (trailing commas in the number format section). we set * to zero for a faster flag if no scaling. */ scaling: number; /** flag indicating percent -- will multiply value by 100 */ percent: boolean; /** flag indicating exponential -- turns numbers in to exp format */ exponential: boolean; /** this is a flag for testing -- we don't support multiple * in a format */ has_asterisk: boolean; }