import type { Precision } from './shared.types.js'; import type { CalendarType } from '../../forms/calendar/types/calendarConfiguration.js'; import type { DateRangeSelectorValueType } from '../../forms/date-time-range-picker/types.js'; import type { _TimeOffset, _TimeOffsetValue, Timeframe, TimeValue } from '../types/time.js'; /** * Compares two given timevalue objects with each other */ export declare function isEqualTimeValue(tv1: TimeValue | string | null, tv2: TimeValue | string | null): boolean; /** * Compares two given RangeSelection objects with each other */ export declare function isEqualRangeSelection(tf1: DateRangeSelectorValueType, tf2: DateRangeSelectorValueType): boolean; /** * Typeguard to see if time offset is simple, so not an object. * @internal */ export declare function isSimpleTimeOffset(offset: _TimeOffset): offset is _TimeOffsetValue; /** * Typeguard function that will check if the date is a date range. * @internal */ export declare function isTimeframe(date: unknown, type: CalendarType): date is Partial | Timeframe; /** * Typeguard function that will check if the date is TimeValue, it has absoluteDate, value and type. * @internal */ export declare function isTimeValue(value: unknown): value is TimeValue; /** * Typeguard to check if a given timeframe is complete, meaning it has both `from` and `to` properties. * @internal */ export declare function isFullTimeframe(timeframe?: unknown): timeframe is Timeframe; /** * Typeguard to check if a given object is a partial timeframe. So either from or to are missing. * @internal */ export declare function isPartialTimeframe(timeframe?: unknown): timeframe is Partial; /** * Formatter that gets the formatted time value strings. * @internal */ export declare function getFormattedTimeValue(timeValue: TimeValue | null, precision?: Precision, showTimeOnly?: boolean): string; /** * Gets the formatted min and max values that are used in the translated messages. * @internal */ export declare function getFormattedMinMax(min?: string, max?: string, precision?: Precision): { min: string; max: string; }; /** * Merges a partial range value into the current state value. * - Only keys present in `patch` are updated; absent keys keep their current value. * - A `null` value in `patch` explicitly clears that key. * - When the current state is `null`, the base defaults to `{ from: null, to: null }`. * @internal */ export declare function mergeRangeValue(current: null | { from: TimeValue | null; to: TimeValue | null; }, patch: Partial<{ from: TimeValue | null; to: TimeValue | null; }>): { from: TimeValue | null; to: TimeValue | null; };