import type {
  FreshnessUrgency,
  FreshnessSource,
  ItemStatus,
  StorageLocation,
} from '../enums/pantry.enums.js';
import type { ServingUnit } from '../enums/product.enums.js';

export interface FreshnessEstimate {
  estimatedExpiryDate: Date;
  daysRemaining: number;
  urgency: FreshnessUrgency;
  source: FreshnessSource;
}

export interface PantryItem {
  id: string;
  householdId: string;
  productId: string;
  productName: string;
  storageLocation: StorageLocation;
  quantity: number;
  unit: ServingUnit;
  purchaseDate: Date;
  expirationDate?: Date;
  openedDate?: Date;
  preparedDate?: Date;
  status: ItemStatus;
  freshnessEstimate: FreshnessEstimate;
  notes?: string;
  purchasePrice?: number;
  storeId?: string;
  createdBy: string;
  createdAt: Date;
  updatedAt: Date;
}
