import { DataFieldType, DataItemNumericFormatType, DataItemNumericUnit, DateFormat, DateTimeFormat, DateTimeGroupInterval, DayOfWeekFormat, ExactDateFormat, ExactTimeFormat, HourFormat, MonthFormat, QuarterFormat, YearFormat } from '../model/enums'; import { CalendarWeekRule } from '../model/internal/_date-utils'; export declare let defaultNumericFormat: NumericFormatInfo; export declare let defaultPercentFormat: NumericFormatInfo; export declare let defaultScientificFormat: NumericFormatInfo; type DateFormatInfoType = 'abbr' | 'full' | 'long' | 'num' | 'short' | 'timeOnly' | 'dateOnly'; export declare let _types: { [name: string]: DateFormatInfoType; }; export declare function format(value: any, formatViewModel: ValueFormatViewModel): string; export declare function formatByFormatInfo(value: any, formatInfo: NumericFormatInfo | DateTimeFormatInfo): any; export declare function formatFilterValue(filterValue: any): any; export declare function constructIntervalFilterText(rangeText: { left: string; right: string; }): any; export declare function formatNumeric(value: any, numericFormatViewModel: NumericFormatViewModel): string; export declare function formatDateTime(value: any, dateFormatViewModel: DateTimeFormatViewModel, type?: DataFieldType): string; export declare function formatObject(value: any): string; export declare function formatPercentValue(value: any): string; export declare function formatScientificAxisValue(value: any): string; export declare function formatAxisValue(value: any, axisMin: any, axisMax: any): string; export declare function getAxisFormat(axisMin: any, axisMax: any): NumericFormatInfo; export declare function calculateUnitPower(axisMin: any, axisMax: any): 0 | 1 | 2 | 3; export declare function calculatePrecision(axisMin: any, axisMax: any): number; export declare function convertToFormat(formatViewModel: ValueFormatViewModel): NumericFormatInfo | DateTimeFormatInfo; export declare function _convertToNumberFormat(numericFormatViewModel: NumericFormatViewModel): NumericFormatInfo; export declare function _convertToDateFormat(dateFormatViewModel: DateTimeFormatViewModel, dataType?: DataFieldType): DateTimeFormatInfo; export declare function _getSyntheticDateTimeGroupInterval(groupInterval: DateTimeGroupInterval, exactDateFormat: ExactDateFormat): DateTimeGroupInterval | 'DateYear'; export declare function _convertNumericFormat(formatType: DataItemNumericFormatType): NumericFormatInfoType; export declare function _convertNumericUnit(numericUnit: DataItemNumericUnit): string | number; export interface ValueFormatViewModel { DataType?: string; NumericFormat?: NumericFormatViewModel; DateTimeFormat?: DateTimeFormatViewModel; TimeFormat?: DateTimeFormatViewModel; } export interface NumericFormatViewModel { FormatType?: DataItemNumericFormatType; Unit?: DataItemNumericUnit; Currency?: string; IncludeGroupSeparator?: boolean; ForcePlusSign?: boolean; SignificantDigits?: number; Precision?: number; CustomFormatString?: string; } export interface DateTimeFormatViewModel { GroupInterval?: DateTimeGroupInterval; ExactDateFormat?: ExactDateFormat; ExactTimeFormat?: ExactTimeFormat; DateFormat?: DateFormat; DateHourFormat?: DateTimeFormat; DateHourMinuteFormat?: DateTimeFormat; DateTimeFormat: DateTimeFormat; YearFormat: YearFormat; QuarterFormat?: QuarterFormat; MonthFormat?: MonthFormat; HourFormat?: HourFormat; TimeHourMinuteFormat?: HourFormat; DayOfWeekFormat?: DayOfWeekFormat; FirstDayOfWeek?: DayOfWeekNumber; CalendarWeekRule?: CalendarWeekRule; } export type DayOfWeekNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6; export interface NumericFormatInfo { format?: NumericFormatInfoType; precision?: number; currency?: string; includeGroupSeparator?: boolean; significantDigits?: number; unitPower?: string | number; plus?: boolean; showTrailingZeros?: boolean; type?: string; unlimitedIntegerDigits?: boolean; dateType?: DateFormatInfoType; } export type NumericFormatInfoType = 'fixedPoint' | 'currency' | 'exponential' | 'percent' | 'general'; export type DateTimeGroupIntervalCamelCase = 'year' | 'quarter' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'dayOfYear' | 'dayOfWeek' | 'weekOfYear' | 'weekOfMonth' | 'quarterYear' | 'monthYear' | 'weekYear' | 'dayMonthYear' | 'dateHour' | 'dateHourMinute' | 'dateHourMinuteSecond' | 'none'; export type DateTimeFormatInfoType = DateTimeGroupIntervalCamelCase | 'dateYear'; export interface DateTimeFormatInfo { [key: string]: any; format: DateTimeFormatInfoType; dateType: DateFormatInfoType; valueType?: DataFieldType; firstDayOfWeek?: DayOfWeekNumber; calendarWeekRule?: CalendarWeekRule; timeHourMinuteFormat?: DateFormat; groupInterval?: DateTimeGroupInterval; } export {};