import { RawShiftAssignedShiftForCreation } from '../../models/shiftManagement/shiftAssignedShift';
import { TimeSlot } from '../../models/timeTracking/scheduleData';

/**
 * One calendar cell — a single (user, date) — together with the shifts to assign to it,
 * independent of where the shift definitions came from (rotation, template, paste).
 * `isRest` + `timeSlots` describe what the cell will hold (used for overlap validation
 * against existing planning); `assignedShifts` are the rows to create. Rotation origin,
 * when present, rides on each assigned shift as plain nullable columns —
 * `ShiftAssignmentService` never inspects it.
 */
export interface ShiftCell {
    instanceId: number;
    userId: number;
    dateString: string;
    isRest: boolean;
    timeSlots: TimeSlot[];
    assignedShifts: RawShiftAssignedShiftForCreation[];
}
