import type { Dayjs } from "dayjs"; import type { TimeValue } from "./types"; export declare const generateRange: (start: number, end: number, step?: number) => number[]; export declare const to12Hour: (hour24: number) => { hour12: number; period: "AM" | "PM"; }; export declare const to24Hour: (hour12: number, period: "AM" | "PM") => number; export declare const dateToTimeValue: (date: Date) => TimeValue; export declare const coerceToTimeValue: (value: TimeValue | Date | Dayjs | null | undefined) => TimeValue | null; export declare const timeValueEquals: (a: TimeValue | null, b: TimeValue | null) => boolean; export declare const getDefaultTimeMaskFormat: (format: "12" | "24", showSeconds: boolean) => string; export declare const getTimePlaceholder: (format: "12" | "24", showSeconds: boolean, displayFormat?: string) => string; export declare const padNumber: (num: number, length?: number) => string; export declare const formatTimeDisplay: (time: TimeValue | null, format: "12" | "24", showSeconds: boolean) => string; export declare const parseTimeString: (input: string, format: "12" | "24") => TimeValue | null; /** * Format a TimeValue using a dayjs-style format string (e.g. "h:mm A"). */ export declare const formatTimeWithPattern: (time: TimeValue | null, pattern: string) => string; /** * Parse a time string against a dayjs-style format pattern. * Returns null if the string does not match the pattern. */ export declare const parseTimeWithPattern: (input: string, pattern: string) => TimeValue | null; /** * Convert TimeValue to a timezone-aware Dayjs. * Formats in browser-local time, then reparses through timezone-aware dayjs. */ export declare const timeValueToDayjs: (time: TimeValue) => Dayjs;