import { CartItem, Product, ProductCustomization } from '@/domain/entities';

/**
 * PORT — Contract for cart persistence
 */
export interface ICartRepository {
  getItems(): CartItem[];
  setItems(items: CartItem[]): void;
  addItem(
    product: Product,
    customization: ProductCustomization,
    customizationLabel: string,
    quantity?: number
  ): void;
  removeItem(id: string): void;
  updateQuantity(id: string, quantity: number): void;
  clearCart(): void;
}