import type { HolidayType, SlotType } from '#/api/store-hours';

export interface DayName {
  label: string;
  labelEn: string;
}

export interface SlotTypeOption {
  label: string;
  value: SlotType;
}

export interface AddSlotFormState {
  type: SlotType;
  selectedDays: number[];
  startTime: string;
  endTime: string;
  capacity: number;
  remark: string;
}

export interface EditSlotItem {
  id: string;
  type: SlotType;
  startTime: string;
  endTime: string;
  capacity?: number;
  remark?: string;
}

export interface DayEditFormState {
  dayOfWeek: number;
  isOpen: boolean;
  slots: EditSlotItem[];
}

export type HolidayDateMode = 'range' | 'single';

export interface HolidayFormState {
  id: string;
  type: HolidayType;
  dateMode: HolidayDateMode;
  singleDate: string;
  rangeStart: string;
  rangeEnd: string;
  startTime: string;
  endTime: string;
  reason: string;
  remark: string;
}

export type AddDaysMode = 'all' | 'weekday' | 'weekend';
