import type { DatePickerTruncationUnit, DatePickerUnit, DatePickerValue, RelativeDatePickerValue, RelativeIntervalDirection } from "../types";
import type { DateIntervalValue, DateOffsetIntervalValue } from "./types";
export declare function isRelativeValue(value: DatePickerValue | undefined): value is RelativeDatePickerValue;
export declare function isIntervalValue(value: RelativeDatePickerValue | undefined): value is DateIntervalValue;
export declare function isOffsetIntervalValue(value: RelativeDatePickerValue | undefined): value is DateOffsetIntervalValue;
export declare function getDirection(value: RelativeDatePickerValue | undefined): RelativeIntervalDirection;
export declare function getDirectionDefaultValue(direction: RelativeIntervalDirection): RelativeDatePickerValue | undefined;
export declare function setDirection(value: RelativeDatePickerValue | undefined, direction: RelativeIntervalDirection, fallbackUnit?: DatePickerTruncationUnit): RelativeDatePickerValue | undefined;
export declare function setDirectionAndCoerceUnit(value: RelativeDatePickerValue, direction: RelativeIntervalDirection): RelativeDatePickerValue | undefined;
export declare function getInterval(value: DateIntervalValue): number;
export declare function setInterval(value: DateIntervalValue, interval: number): DateIntervalValue;
export declare function getAvailableTruncationUnits(availableUnits: ReadonlyArray<DatePickerUnit>): ("year" | "minute" | "hour" | "day" | "quarter" | "week" | "month")[];
export declare function getUnitOptions(value: DateIntervalValue, availableUnits: ReadonlyArray<DatePickerUnit>): {
    value: "year" | "minute" | "hour" | "day" | "quarter" | "week" | "month";
    label: string;
}[];
export declare function formatDateRange({ value, unit, offsetValue, offsetUnit, options, }: RelativeDatePickerValue): string;
