import { type DragEvent } from 'react';

import { type ShiftAssignCellVC } from 'src/types/shifts';

/** Drag & drop handler props shared across ShiftsTable and DateCell. */
export type ShiftDragDropHandlers = {
  onDragStart: (
    e: DragEvent<HTMLElement>,
    shiftId: number,
    cellData: ShiftAssignCellVC,
  ) => void;
  onDragOver: (e: DragEvent<HTMLElement>, cellData: ShiftAssignCellVC) => void;
  onDragLeave: (e: DragEvent<HTMLElement>) => void;
  onDrop: (e: DragEvent<HTMLElement>, cellData: ShiftAssignCellVC) => void;
  onDragEnd: (e: DragEvent<HTMLElement>) => void;
};
