import type { CabinetItemStatus } from '../enums/cabinet.enums.js';
import type {
  ConcentrationUnit,
  DosageUnit,
  MedicineForm,
  StrengthUnit,
} from '../enums/medicine.enums.js';

export interface CabinetItem {
  id: string;
  householdId: string;
  medicineId: string;
  medicineName: string;
  medicineStrength: number;
  medicineStrengthUnit: StrengthUnit;
  medicineForm: MedicineForm;
  medicineProductId?: string;
  medicineProductBrand?: string;
  concentration?: number;
  concentrationUnit?: ConcentrationUnit;
  quantity: number;
  unit: DosageUnit;
  expirationDate?: Date;
  status: CabinetItemStatus;
  purchaseDate?: Date;
  unitPrice?: number;
  totalPrice?: number;
  currency?: string;
  storeId?: string;
  storeName?: string;
  notes?: string;
  createdBy: string;
  createdAt: Date;
  updatedAt: Date;
}

export interface CabinetSummary {
  medicineId: string;
  medicineName: string;
  medicineStrength: number;
  medicineStrengthUnit: string;
  medicineForm: string;
  totalQuantity: number;
  unit: string;
  earliestExpiry: string | null;
  itemCount: number;
}
