import type { GenerateConfig } from '../generate'; import type { NullableDateType, RangeValue } from '../interface'; type MainProps = { cellPrefixCls: string; generateConfig: GenerateConfig; rangedValue?: RangeValue; hoverRangedValue?: RangeValue; today?: NullableDateType; value?: NullableDateType; }; export type CellStatuses = { isInView: boolean; isInRange: boolean; isRangeStart: boolean; isRangeEnd: boolean; isRangeStartSingle: boolean; isRangeEndSingle: boolean; isRangeStartNearHover: boolean; isRangeEndNearHover: boolean; isRangeHovered: boolean; isHoverStart: boolean; isHoverEnd: boolean; isHoverEdgeStart: boolean; isHoverEdgeEnd: boolean; isHoverEdgeStartNearRange: boolean; isHoverEdgeEndNearRange: boolean; isToday: boolean; isSelected: boolean; }; export type ModifyCellClassNamesT = { modifyCellClassNames?: (classNames: Record, options: MainProps & { currentDate: DateType; statuses: CellStatuses; }) => Record; }; export default function useCellClassName({ cellPrefixCls, generateConfig, rangedValue, hoverRangedValue, isInView, isSameCell, offsetCell, today, value, modifyCellClassNames, }: { isSameCell: (current: NullableDateType, target: NullableDateType) => boolean; offsetCell: (date: DateType, offset: number) => DateType; isInView: (date: DateType) => boolean; } & MainProps & ModifyCellClassNamesT): (currentDate: DateType) => Record; export {};