export interface HourValidationConfig { /** Maximum hours allowed per cell (default: 8) */ maxCellHours?: number; /** Maximum total hours per row/day (default: 20) */ maxDailyHours?: number; /** Column keys that contain hour values */ hourColumns: string[]; } export interface HourValidationError { field: string; message: string; value: number; limit: number; } export interface HourValidationResult { isValid: boolean; errors: HourValidationError[]; totalHours: number; } export interface UseHourValidationOptions { config: HourValidationConfig; } export interface UseHourValidationResult { /** Validate a single cell value */ validateCell: (columnKey: string, value: number | string) => HourValidationResult; /** Validate an entire row/record */ validateRow: >(row: T) => HourValidationResult; /** Check if a value exceeds cell limit */ exceedsCellLimit: (value: number | string) => boolean; /** Get max cell hours */ maxCellHours: number; /** Get max daily hours */ maxDailyHours: number; /** Hour columns being validated */ hourColumns: string[]; } /** * Hook for validating hour inputs in spreadsheet cells * Commonly used in pointage/timesheet applications */ export declare function useHourValidation(options: UseHourValidationOptions): UseHourValidationResult; export default useHourValidation; //# sourceMappingURL=useHourValidation.d.ts.map