export interface ProductVariant {
  id: string;
  size?: string;
  color?: string;
  colorHex?: string;
  price: number;
  inStock: boolean;
}

export interface Product {
  id: string;
  name: string;
  description: string;
  price: number;
  originalPrice?: number;
  image: string;
  images?: string[];
  category: string;
  categoryId: string;
  rating: number;
  reviewCount: number;
  inStock: boolean;
  isNew?: boolean;
  isFeatured?: boolean;
  tags?: string[];
  unit?: string;
  variants?: ProductVariant[];
  availableColors?: { name: string; hex: string }[];
  availableSizes?: string[];
}

export interface Category {
  id: string;
  name: string;
  icon: string;
  image: string;
  productCount: number;
  color: string;
}

export interface CartItem {
  product: Product;
  quantity: number;
  variant?: ProductVariant;
  variantKey?: string; // unique key: productId + variantId
}

export interface Order {
  id: string;
  items: CartItem[];
  total: number;
  status: "pending" | "confirmed" | "delivered";
  date: string;
}
