export declare const ITEM_HEIGHT = 40; export declare const TIMEPICKER_OFFSET = 2; /** * Generates an array of hours (00–23) */ export declare const generateHours: () => string[]; /** * Generates minute values based on a step (e.g. 5, 10, 15) */ export declare const generateMinutes: (stepMinutes: number) => string[]; /** * Finds the closest available minute to a target value */ export declare const findClosestMinute: (target: string, mins: string[]) => string; /** * Parses HH:mm time string */ export declare const parseTime: (time: string) => { hour: string; minute: string; }; /** * Returns nearest wheel index from scroll position */ export declare const snapToNearestItem: (scrollTop: number, length: number) => number; /** * Returns scrollTop position for index */ export declare const getScrollTopForIndex: (index: number) => number; /** * Checks if scroll correction is needed */ export declare const needsScrollCorrection: (current: number, target: number, tolerance?: number) => boolean; /** * Scrolls element to index */ export declare const scrollToIndex: (element: HTMLDivElement, index: number, behavior?: ScrollBehavior) => void; /** * Clears scroll timeout safely */ export declare const clearScrollTimeout: (timeout?: NodeJS.Timeout) => void; export declare const isValidTime: (time: string) => boolean; /** * Normalizes common typing patterns into HH:mm or returns null if impossible * Examples: * "9:5" → "09:05" * "14:5" → "14:05" * "2359" → "23:59" * "4:89" → null */ export declare const normalizeTime: (input: string) => string | null;