import type { DatePickerOperator, SpecificDatePickerOperator, SpecificDatePickerValue } from "../types";
import type { Tab } from "./types";
export declare function getTabs(availableOperators: ReadonlyArray<DatePickerOperator>): Tab[];
export declare function getDefaultValue(): SpecificDatePickerValue;
export declare function getOperatorDefaultValue(operator: SpecificDatePickerOperator): SpecificDatePickerValue;
export declare function setOperator(value: SpecificDatePickerValue, operator: SpecificDatePickerOperator): SpecificDatePickerValue;
export declare function getDate(value: SpecificDatePickerValue): Date;
export declare function setDate(value: SpecificDatePickerValue, date: Date): {
    values: Date[];
    type: "specific";
    operator: "=" | "<" | ">" | "between";
};
export declare function setDateRange(value: SpecificDatePickerValue, dates: [Date, Date]): {
    values: [Date, Date];
    type: "specific";
    operator: "=" | "<" | ">" | "between";
};
export declare function isDateRange(value: Date[]): value is [Date, Date];
export declare function setDatePart(value: Date, date: Date): Date;
export declare function setTimePart(value: Date, time: Date): Date;
export declare function clearTimePart(value: Date): Date;
export declare function hasTimeParts(value: Date): boolean;
export declare function coerceValue({ type, operator, values, }: SpecificDatePickerValue): {
    type: "specific";
    operator: "between";
    values: Date[];
} | {
    type: "specific";
    operator: "=" | "<" | ">";
    values: Date[];
};
