import type { Cart, CartItemInput } from './cart.js';

export interface CartRepository {
  getOrCreate(userId: string): Promise<Cart>;
  addItem(userId: string, input: CartItemInput): Promise<Cart>;
  changeQuantity(userId: string, variantId: string, quantity: number): Promise<Cart>;
  removeItem(userId: string, variantId: string): Promise<Cart>;
  setPromoCode(userId: string, code: string | null): Promise<Cart>;
}
