import { type MomentInput } from 'moment-timezone';
import { Format, type CompactOrAlias, type CustomDimension, type CustomFormat, type Dimension, type Field, type Item, type TableCalculation } from '../types/field';
import { type AdditionalMetric } from '../types/metricQuery';
import { TimeFrames } from '../types/timeFrames';
export declare const currencies: string[];
export declare const formatBoolean: <T>(v: T) => "True" | "False";
export declare const getDateFormat: (timeInterval?: TimeFrames | undefined) => string;
export declare const isMomentInput: (value: unknown) => value is MomentInput;
export declare function formatDate(date: MomentInput, timeInterval?: TimeFrames, convertToUTC?: boolean, timezone?: string): string;
export declare function formatTimestamp(value: MomentInput, timeInterval?: TimeFrames | undefined, convertToUTC?: boolean, timezone?: string, displayTimezone?: string): string;
export declare function getLocalTimeDisplay(value: MomentInput, showTimezone?: boolean): string;
export declare const formatDateWithPattern: (value: string | number, pattern: string) => string;
export declare const parseDate: (str: string, timeInterval?: TimeFrames | undefined) => Date;
export declare const parseTimestamp: (str: string, timeInterval?: TimeFrames | undefined) => Date;
export declare function valueIsNaN(value: unknown): boolean;
export declare function isNumber(value: unknown): value is number;
export declare function formatNumberValue(value: number, format?: CustomFormat): string;
export declare function applyDefaultFormat(value: unknown): string;
export declare function getCustomFormatFromLegacy({ format, compact, round, }: {
    format?: Format | string;
    compact?: CompactOrAlias;
    round?: number;
}): CustomFormat;
export declare function hasFormatting(item: Field | AdditionalMetric | TableCalculation | CustomDimension | undefined): boolean;
export declare function getCustomFormat(item: Field | AdditionalMetric | TableCalculation | CustomDimension | undefined): CustomFormat | undefined;
export declare function formatValueWithExpression(expression: string, value: unknown): string;
export declare function applyCustomFormat(value: unknown, format?: CustomFormat | undefined): string;
export declare function hasValidFormatExpression<T extends Field | AdditionalMetric | TableCalculation | CustomDimension | Dimension>(item: T | undefined): item is T & {
    format: string;
};
export declare function convertCustomFormatToFormatExpression(format: CustomFormat): string | null;
export declare function getFormatExpression(item: Item | AdditionalMetric): string | undefined;
export declare function formatItemValue(item: Field | Dimension | AdditionalMetric | TableCalculation | CustomDimension | undefined, value: unknown, convertToUTC?: boolean, parameters?: Record<string, unknown>, timezone?: string, displayTimezone?: string): string;
//# sourceMappingURL=formatting.d.ts.map