/**
 * Sales SDK 顶层导出。
 *
 * 该模块为「headless 业务数据层」：通过 React Provider + Hooks 暴露 OS BookingTicket 数据流，
 * 不依赖任何 UI 组件；所有对外名称均带 `SalesSdk` / `useSalesSdk` 前缀，避免与既有 `components/Sales`
 * UI 模块同名冲突。
 *
 * 入口约定：
 *  - 顶层包裹：<SalesSdkProvider osKey="..." orderId={...} />
 *  - 数据 + actions：useSalesSdk / useSalesSdkProducts / useSalesSdkCart / useSalesSdkCustomer / useSalesSdkSummary
 *  - 派生：deriveDisabledEdit / deriveSummary / isWalkInCustomer
 *  - 多源 enrich：enrichCartItem(s) / enrichCustomer / pickIdentity
 *  - 通用基础：useSyncOsModule
 */

// Provider
export { SalesSdkProvider } from "./context/SalesSdkProvider";

// Internal demo
export { SalesSdkDemo } from "./demo";
// Hooks
export { useSalesSdk } from "./hooks/useSalesSdk";
export { useSalesSdkProducts } from "./hooks/useSalesSdkProducts";
export { useSalesSdkCart } from "./hooks/useSalesSdkCart";
export { useSalesSdkCustomer } from "./hooks/useSalesSdkCustomer";
export { useSalesSdkSummary } from "./hooks/useSalesSdkSummary";
export { useSyncOsModule } from "./hooks/useSyncOsModule";

// Pure utilities
export { enrichCartItem, enrichCartItems, enrichCustomer } from "./utils/enrich";
export { pickIdentity } from "./utils/identity";
export { deriveDisabledEdit, deriveSummary, isWalkInCustomer } from "./selectors";

// SDK 自有类型（带 SalesSdk 前缀）

// OS 协议结构性 alias（沿用 OS 命名）