import { PublicUserDTO } from '../../../users/presentation/dataTransferObjects/publicUserDTO';
import { TimeSlot } from '../../business/models/timeTracking/scheduleData';
import { TimeTrackingEntryBasicData } from '../../business/models/timeTrackingEntry';
import { CategorizedHourDTO } from '../serializationClasses/TimeTrackingCategorizedHoursSC';
import { TimeTrackingCategorizedHourApprovalStepDTO } from './timeTrackingCategorizedHourApprovalStepDTO';

export interface CategorizedHourStatusOverrideDTO {
    admin: PublicUserDTO | null;
    comment: string | null;
}

export interface TimeTrackingCategorizedHourDetailDTO extends CategorizedHourDTO {
    hourCategoryDescription: string | null;
    entryIds: number[] | null;
    entries: TimeTrackingEntryBasicData[];
    workTimeSlots: TimeSlot[];
    approvalSteps: TimeTrackingCategorizedHourApprovalStepDTO[];
    statusOverride: CategorizedHourStatusOverrideDTO | null;
}
