import type { TimeValue } from '../../../core/types/time.js'; /** * Contains details for an expression, including offset and round-down units. */ type ExpressionDetails = { offsetAmount: number; offsetUnit?: OffsetUnit; roundDownUnit?: RoundDownUnit; }; /** * Defines the units of time that can be used for offsetting. */ type OffsetUnit = 'y' | 'q' | 'M' | 'w' | 'd' | 'h' | 'm' | 's' | 'ms'; /** * Defines the units of time that can be used for rounding down. */ type RoundDownUnit = 'y' | 'q' | 'M' | 'w' | 'w0' | 'w1' | 'w2' | 'w3' | 'w4' | 'w5' | 'w6' | 'd' | 'h' | 'm' | 's'; /** * Determines the lowest common denominator for OffsetUnits between two TimeValues. * @internal */ export declare function getSmallestCommonUnit(from: TimeValue | undefined | null, to: TimeValue | undefined | null): OffsetUnit; /** * Returns the difference between two TimeValues in the lowest possible OffsetUnit. * @internal */ export declare function getDifference(from: TimeValue | undefined | null, to: TimeValue | undefined | null): number; /** * Calculates the difference between a relative time and now in a specified OffsetUnit. * @internal */ export declare function getTimeDifferenceInUnit(details: ExpressionDetails | undefined, relativeDate: number, targetUnit: OffsetUnit | RoundDownUnit | undefined): number; export {};