import type { Moment } from "moment-timezone";
import moment from "moment-timezone";
import type { DatetimeUnit } from "../../../metabase-types/api/query";
import type { OptionsType } from "./types";
type DateVal = string | number | Moment;
interface DateRangeFormatSpec {
    same: null | moment.unitOfTime.StartOf;
    format: [string] | [string, string];
    removedYearFormat?: [string] | [string, string];
    removedDayFormat?: [string] | [string, string];
    dashPad?: string;
    tests: {
        verbose: {
            output: string;
            verboseOutput?: string;
            input: [DateVal] | [DateVal, DateVal];
        };
        compact?: {
            output: string;
            input: [DateVal] | [DateVal, DateVal];
        };
        removedYear?: {
            output: string;
            input: [DateVal] | [DateVal, DateVal];
        };
        removedDay?: {
            output: string;
            input: [DateVal] | [DateVal, DateVal];
        };
    };
}
export declare const DATE_RANGE_FORMAT_SPECS: {
    [unit in DatetimeUnit]: DateRangeFormatSpec[];
};
export declare const SPECIFIC_DATE_TIME_UNITS: DatetimeUnit[];
export declare function getDateFormatFromStyle(style: string, unit: DatetimeUnit, separator: string, includeWeekday?: boolean): string;
export declare function formatDateTimeForParameter(value: string, unit: DatetimeUnit | null): any;
export declare function formatDateToRangeForParameter(value: string, unit: DatetimeUnit | null): any;
export declare function normalizeDateTimeRangeWithUnit(values: [DateVal] | [DateVal, DateVal], unit: DatetimeUnit, options?: OptionsType): any[];
/** This formats a time with unit as a date range */
export declare function formatDateTimeRangeWithUnit(values: [DateVal] | [DateVal, DateVal], unit: DatetimeUnit, options?: OptionsType): string | import("react/jsx-runtime").JSX.Element;
export declare function formatRange(range: any[], formatter: any, options?: OptionsType): string | import("react/jsx-runtime").JSX.Element;
export declare function formatDateTimeWithFormats(value: number | string | Date | Moment, dateFormat: string, timeFormat: string | null, options: OptionsType): any;
export declare function formatDateTimeWithUnit(value: number | string | Date | Moment, unit: DatetimeUnit, options?: OptionsType): any;
export {};
