import { ShopCart } from './types.js'; /** * F136 Phase 1 — Cart storage adapter. * * Default implementation: in-process Map keyed by cartId. That's enough * for filesystem-adapter sites running on a single Node process and for * the unit tests. * * Sites running on multiple instances (Fly machine pairs, Vercel * serverless) should pass a `CartStore` backed by their shared cache — * Redis, Upstash KV, Cloudflare KV. The interface is small on purpose. * * Carts have a 48 h TTL. The in-memory store sweeps expired entries on * each `get()` so it doesn't grow unbounded. */ interface CartStore { get(id: string): Promise; set(cart: ShopCart): Promise; delete(id: string): Promise; } declare function createInMemoryCartStore(): CartStore; declare const CART_TTL_MS: number; export { CART_TTL_MS as C, type CartStore as a, createInMemoryCartStore as c };