import type { TimeFormat } from "../types"; /** * Options used to generate or restrict selectable times. */ export interface TimeRangeOptions { maxTime?: string; minTime?: string; minuteStep?: number; } /** * Converts a typed time value into minutes after midnight. */ export declare function parseTimeToMinutes(value: string): number | null; /** * Formats minutes after midnight as HH:mm. */ export declare function formatMinutesAsTime(minutes: number): string; /** * Formats minutes after midnight for display in the selected clock format. */ export declare function formatMinutesAsDisplayTime(minutes: number, timeFormat?: TimeFormat): string; /** * Clamps a time string to optional min and max bounds. */ export declare function clampTime(value: string, minTime?: string, maxTime?: string): string; /** * Checks whether a time is valid and within optional min and max bounds. */ export declare function isTimeInRange(value: string, minTime?: string, maxTime?: string): boolean; /** * Generates selectable HH:mm options for the provided range and step. */ export declare function generateTimeOptions(options?: TimeRangeOptions): string[]; /** * Normalizes a time value to HH:mm when possible. */ export declare function normalizeTime(value: string, minTime?: string, maxTime?: string): string | null; /** * Adds minutes to a time value and returns a normalized HH:mm value. */ export declare function addMinutesToTime(value: string, minutesToAdd: number, minTime?: string, maxTime?: string): string | null; /** * Keeps minute steps within a practical one-hour range. Exported so every minute-step * consumer (digital options, analog drag rounding) agrees on the same fallback for an * invalid step (0, negative, non-integer, or >60), instead of each re-deriving its own. */ export declare function normalizeMinuteStep(minuteStep?: number): number;