import type { OrderLine, NewOrderLine } from '../shared/order-line'; export type CartItem = OrderLine; export type NewCartItem = NewOrderLine; export interface CartState { items: CartItem[]; isOpen: boolean; } export type CartAction = | { type: 'ADD_ITEM'; payload: NewCartItem } | { type: 'REMOVE_ITEM'; payload: string } | { type: 'UPDATE_QUANTITY'; payload: { id: string; quantity: number } } | { type: 'CLEAR_CART' } | { type: 'TOGGLE_CART' } | { type: 'OPEN_CART' } | { type: 'CLOSE_CART' } | { type: 'RESTORE_ITEMS'; payload: CartItem[] };