export type DateFormat = string;
declare const dateLevels: readonly ["years", "quarters", "months", "weeks", "days", "dateAndTime", "minutes"];
/** @expandType */
export type DateLevel = (typeof dateLevels)[number];
export declare const YEARS: DateLevel;
export declare const QUARTERS: DateLevel;
export declare const MONTHS: DateLevel;
export declare const WEEKS: DateLevel;
export declare const DAYS: DateLevel;
export declare const DATE_AND_TIME: DateLevel;
export declare const MINUTES: DateLevel;
export type MonthOfYear = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
export declare const JAN: MonthOfYear;
export declare const FEB: MonthOfYear;
export declare const MAR: MonthOfYear;
export declare const APR: MonthOfYear;
export declare const MAY: MonthOfYear;
export declare const JUN: MonthOfYear;
export declare const JUL: MonthOfYear;
export declare const AUG: MonthOfYear;
export declare const SEP: MonthOfYear;
export declare const OCT: MonthOfYear;
export declare const NOV: MonthOfYear;
export declare const DEC: MonthOfYear;
export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export declare const SUN: DayOfWeek;
export declare const MON: DayOfWeek;
export declare const TUE: DayOfWeek;
export declare const WED: DayOfWeek;
export declare const THU: DayOfWeek;
export declare const FRI: DayOfWeek;
export declare const SAT: DayOfWeek;
/**
 * Date configurations
 */
export type DateConfig = {
    /** Boolean flag whether fiscal year is enabled */
    isFiscalOn: boolean;
    /** First month of the fiscal year that is configured */
    fiscalMonth: MonthOfYear;
    /**
     * First day of the week
     */
    weekFirstDay: DayOfWeek;
    /**
     * The selected date level for this particular column of data
     */
    selectedDateLevel: DateLevel;
    /**
     * The IANA time zone
     */
    timeZone: string;
};
export declare const defaultDateConfig: DateConfig;
/**
 * Safely formats a date value, handling special cases like 'N\A'
 *
 * @param value - The date value to format, can be a Date object, ISO string, or special value like 'N\A'
 * @param format - The date format to apply
 * @param locale - Optional locale for formatting
 * @param cfg - Optional date configuration
 * @returns Formatted date string or the original value for special cases
 */
export declare function formatDateValue(value: Date | string, format: DateFormat, locale?: Locale, cfg?: DateConfig): string;
export declare function getDefaultDateMask(granularity?: string): "yyyy" | "Q yyyy" | "MM/yyyy" | "ww yyyy" | "shortDate" | "HH:mm" | "HH:mm:ss" | "fullDate";
export {};
