wiil-core-js 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/core/account/index.d.ts +7 -0
  4. package/dist/core/account/index.js +23 -0
  5. package/dist/core/account/organization.schema.d.ts +118 -0
  6. package/dist/core/account/organization.schema.js +91 -0
  7. package/dist/core/account/project.schema.d.ts +121 -0
  8. package/dist/core/account/project.schema.js +102 -0
  9. package/dist/core/account/supported-business-verticals.d.ts +8 -0
  10. package/dist/core/account/supported-business-verticals.js +23 -0
  11. package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
  12. package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
  13. package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
  14. package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
  15. package/dist/core/assistant-setups/index.d.ts +4 -0
  16. package/dist/core/assistant-setups/index.js +21 -0
  17. package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
  18. package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
  19. package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
  20. package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
  21. package/dist/core/base.schema.d.ts +34 -0
  22. package/dist/core/base.schema.js +36 -0
  23. package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
  24. package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
  25. package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
  26. package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
  27. package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
  28. package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
  29. package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
  30. package/dist/core/business-mgt/business-location.schema.js +176 -0
  31. package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
  32. package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
  33. package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
  34. package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
  35. package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
  36. package/dist/core/business-mgt/customer-management/index.js +23 -0
  37. package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
  38. package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
  39. package/dist/core/business-mgt/customer.schema.d.ts +111 -0
  40. package/dist/core/business-mgt/customer.schema.js +73 -0
  41. package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
  42. package/dist/core/business-mgt/discount-rule.schema.js +108 -0
  43. package/dist/core/business-mgt/index.d.ts +16 -0
  44. package/dist/core/business-mgt/index.js +38 -0
  45. package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
  46. package/dist/core/business-mgt/menu-config.schema.js +86 -0
  47. package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
  48. package/dist/core/business-mgt/menu-management/index.js +27 -0
  49. package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
  50. package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
  51. package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
  52. package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
  53. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
  54. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
  55. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
  56. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
  57. package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
  58. package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
  59. package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
  60. package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
  61. package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
  62. package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
  63. package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
  64. package/dist/core/business-mgt/menu.order.schema.js +149 -0
  65. package/dist/core/business-mgt/order.schema.d.ts +222 -0
  66. package/dist/core/business-mgt/order.schema.js +205 -0
  67. package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
  68. package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
  69. package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
  70. package/dist/core/business-mgt/product-config.schema.js +106 -0
  71. package/dist/core/business-mgt/product-management/index.d.ts +12 -0
  72. package/dist/core/business-mgt/product-management/index.js +28 -0
  73. package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
  74. package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
  75. package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
  76. package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
  77. package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
  78. package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
  79. package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
  80. package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
  81. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
  82. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
  83. package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
  84. package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
  85. package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
  86. package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
  87. package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
  88. package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
  89. package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
  90. package/dist/core/business-mgt/product-order.schema.js +153 -0
  91. package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
  92. package/dist/core/business-mgt/property-config.schema.js +224 -0
  93. package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
  94. package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
  95. package/dist/core/business-mgt/property-management/index.d.ts +6 -0
  96. package/dist/core/business-mgt/property-management/index.js +22 -0
  97. package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
  98. package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
  99. package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
  100. package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
  101. package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
  102. package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
  103. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
  104. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
  105. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
  106. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
  107. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
  108. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
  109. package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
  110. package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
  111. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
  112. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
  113. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
  114. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
  115. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
  116. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
  117. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
  118. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
  119. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
  120. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
  121. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
  122. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
  123. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
  124. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
  125. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
  126. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
  127. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
  128. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
  129. package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
  130. package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
  131. package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
  132. package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
  133. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
  134. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
  135. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
  136. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
  137. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
  138. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
  139. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
  140. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
  141. package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
  142. package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
  143. package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
  144. package/dist/core/business-mgt/reservation.schema.js +89 -0
  145. package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
  146. package/dist/core/business-mgt/service-appointment.schema.js +69 -0
  147. package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
  148. package/dist/core/business-mgt/service-config.schema.js +102 -0
  149. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
  150. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
  151. package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
  152. package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
  153. package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
  154. package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
  155. package/dist/core/business-mgt/service-management/index.d.ts +13 -0
  156. package/dist/core/business-mgt/service-management/index.js +29 -0
  157. package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
  158. package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
  159. package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
  160. package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
  161. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
  162. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
  163. package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
  164. package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
  165. package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
  166. package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
  167. package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
  168. package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
  169. package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
  170. package/dist/core/business-mgt/service-person.schema.js +38 -0
  171. package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
  172. package/dist/core/business-mgt/tax-rule.schema.js +90 -0
  173. package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
  174. package/dist/core/conversation/conversation-config.schema.js +351 -0
  175. package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
  176. package/dist/core/conversation/conversation-message.schema.js +275 -0
  177. package/dist/core/conversation/index.d.ts +12 -0
  178. package/dist/core/conversation/index.js +28 -0
  179. package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
  180. package/dist/core/conversation/outbound-call.schema.js +116 -0
  181. package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
  182. package/dist/core/conversation/outbound-email.schema.js +150 -0
  183. package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
  184. package/dist/core/conversation/outbound-sms.schema.js +85 -0
  185. package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
  186. package/dist/core/conversation/outbound-template.schema.js +160 -0
  187. package/dist/core/conversation/translation-config.schema.d.ts +92 -0
  188. package/dist/core/conversation/translation-config.schema.js +88 -0
  189. package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
  190. package/dist/core/conversation/translation-conversation.schema.js +175 -0
  191. package/dist/core/index.d.ts +12 -0
  192. package/dist/core/index.js +30 -0
  193. package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
  194. package/dist/core/service-configuration/agent-config.schema.js +152 -0
  195. package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
  196. package/dist/core/service-configuration/base-agent-setup.js +123 -0
  197. package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
  198. package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
  199. package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
  200. package/dist/core/service-configuration/deployment-config.schema.js +271 -0
  201. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
  202. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
  203. package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
  204. package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
  205. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
  206. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
  207. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
  208. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
  209. package/dist/core/service-configuration/index.d.ts +17 -0
  210. package/dist/core/service-configuration/index.js +33 -0
  211. package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
  212. package/dist/core/service-configuration/instruction-config.schema.js +139 -0
  213. package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
  214. package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
  215. package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
  216. package/dist/core/service-configuration/knowledge.schema.js +106 -0
  217. package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
  218. package/dist/core/service-configuration/phone-config.schema.js +121 -0
  219. package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
  220. package/dist/core/service-configuration/phone-number.schema.js +211 -0
  221. package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
  222. package/dist/core/service-configuration/provisioning-config.js +307 -0
  223. package/dist/core/service-configuration/support-llm.d.ts +95 -0
  224. package/dist/core/service-configuration/support-llm.js +76 -0
  225. package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
  226. package/dist/core/service-configuration/voice-language.schema.js +166 -0
  227. package/dist/core/type-definitions/account-definitions.d.ts +82 -0
  228. package/dist/core/type-definitions/account-definitions.js +88 -0
  229. package/dist/core/type-definitions/business-definitions.d.ts +394 -0
  230. package/dist/core/type-definitions/business-definitions.js +447 -0
  231. package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
  232. package/dist/core/type-definitions/conversation.type.definition.js +236 -0
  233. package/dist/core/type-definitions/display-order.d.ts +154 -0
  234. package/dist/core/type-definitions/display-order.js +154 -0
  235. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
  236. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
  237. package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
  238. package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
  239. package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
  240. package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
  241. package/dist/core/type-definitions/index.d.ts +10 -0
  242. package/dist/core/type-definitions/index.js +26 -0
  243. package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
  244. package/dist/core/type-definitions/knowledge-definitions.js +37 -0
  245. package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
  246. package/dist/core/type-definitions/service-config.definitions.js +135 -0
  247. package/dist/core/validators/channel-validation.d.ts +19 -0
  248. package/dist/core/validators/channel-validation.js +40 -0
  249. package/dist/core/validators/index.d.ts +5 -0
  250. package/dist/core/validators/index.js +21 -0
  251. package/dist/index.d.ts +6 -0
  252. package/dist/index.js +24 -0
  253. package/dist/request/index.d.ts +5 -0
  254. package/dist/request/index.js +21 -0
  255. package/dist/request/models/index.d.ts +6 -0
  256. package/dist/request/models/index.js +22 -0
  257. package/dist/request/models/paginated-quest.schema.d.ts +33 -0
  258. package/dist/request/models/paginated-quest.schema.js +35 -0
  259. package/dist/request/models/paginated-result.schema.d.ts +124 -0
  260. package/dist/request/models/paginated-result.schema.js +94 -0
  261. package/package.json +43 -0
@@ -0,0 +1,488 @@
1
+ import z from "zod";
2
+ /**
3
+ * @fileoverview Product set schema definitions for bundled products.
4
+ * @module business-mgt/product-set
5
+ *
6
+ * Product sets enable bundling products into packages with flexible pricing
7
+ * and targeting strategies. Sets can use fixed pricing or sum of component prices.
8
+ */
9
+ /**
10
+ * Product set pricing mode.
11
+ * Determines how the set price is calculated.
12
+ *
13
+ * @enum {string}
14
+ * @property {string} FIXED - Set has a fixed price regardless of component prices
15
+ * @property {string} SUM_OF_ITEMS - Set price is sum of included product prices
16
+ */
17
+ export declare enum ProductSetPricingMode {
18
+ /** Set has a fixed price regardless of component prices */
19
+ FIXED = "FIXED",
20
+ /** Set price is sum of included product prices */
21
+ SUM_OF_ITEMS = "SUM_OF_ITEMS"
22
+ }
23
+ /**
24
+ * Product set targeting mode.
25
+ * Determines how products are selected for the set.
26
+ *
27
+ * @enum {string}
28
+ * @property {string} EXPLICIT - Set includes explicitly listed products
29
+ * @property {string} SELECTOR - Set includes products matching selector criteria
30
+ */
31
+ export declare enum ProductSetTargetingMode {
32
+ /** Set includes explicitly listed products */
33
+ EXPLICIT = "EXPLICIT",
34
+ /** Set includes products matching selector criteria */
35
+ SELECTOR = "SELECTOR"
36
+ }
37
+ /**
38
+ * Product set channel mapping schema.
39
+ * Maps product sets to external platform identifiers.
40
+ *
41
+ * @typedef {Object} ProductSetChannelMapping
42
+ * @property {string} channelId - Platform identifier (e.g., "shopify", "amazon")
43
+ * @property {string} externalProductSetId - Set ID in external platform
44
+ */
45
+ export declare const ProductSetChannelMappingSchema: z.ZodObject<{
46
+ channelId: z.ZodString;
47
+ externalProductSetId: z.ZodString;
48
+ }, z.core.$strip>;
49
+ /**
50
+ * Product set item schema.
51
+ * Represents a product included in a set with quantity and requirement specifications.
52
+ *
53
+ * @typedef {Object} ProductSetItem
54
+ * @property {string} productId - Product ID included in set
55
+ * @property {string} [productVariantId] - Specific variant ID if applicable
56
+ * @property {number} quantity - Quantity of this product in set
57
+ * @property {boolean} isRequired - Whether item is required in set
58
+ * @property {number} [displayOrder] - Display order inside set
59
+ */
60
+ export declare const ProductSetItemSchema: z.ZodObject<{
61
+ productId: z.ZodString;
62
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ quantity: z.ZodNumber;
64
+ isRequired: z.ZodDefault<z.ZodBoolean>;
65
+ displayOrder: z.ZodOptional<z.ZodNumber>;
66
+ }, z.core.$strip>;
67
+ /**
68
+ * Product set selector schema.
69
+ * Defines criteria for dynamically selecting products to include in a set.
70
+ *
71
+ * @typedef {Object} ProductSetSelector
72
+ * @property {Array} productIdsAny - Products where any match satisfies
73
+ * @property {Array} productIdsAll - Products where all must match
74
+ * @property {boolean} allProducts - Include all catalog products
75
+ * @property {number} [quantityExact] - Exact quantity required
76
+ * @property {number} [quantityMin] - Minimum quantity required
77
+ * @property {number} [quantityMax] - Maximum quantity allowed
78
+ */
79
+ export declare const ProductSetSelectorSchema: z.ZodObject<{
80
+ productIdsAny: z.ZodDefault<z.ZodArray<z.ZodString>>;
81
+ productIdsAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
82
+ allProducts: z.ZodDefault<z.ZodBoolean>;
83
+ quantityExact: z.ZodOptional<z.ZodNumber>;
84
+ quantityMin: z.ZodOptional<z.ZodNumber>;
85
+ quantityMax: z.ZodOptional<z.ZodNumber>;
86
+ }, z.core.$strip>;
87
+ /**
88
+ * Product set schema.
89
+ * Represents a bundle or set of products with configurable pricing and targeting.
90
+ *
91
+ * @typedef {Object} ProductSet
92
+ * @property {string} [productRevisionId] - Version control for product changes
93
+ * @property {string} [code] - Stable internal code for integration matching
94
+ * @property {string} name - Product set name
95
+ * @property {string} [description] - Product set description
96
+ * @property {Array} [channelMappings] - Per-channel external set ID mappings
97
+ * @property {ProductSetTargetingMode} targetingMode - How set selects members
98
+ * @property {ProductSetPricingMode} pricingMode - How pricing is calculated
99
+ * @property {number} [fixedPrice] - Set price when pricingMode is FIXED
100
+ * @property {Array} [items] - Explicit product members
101
+ * @property {Object} [selector] - Selector definition for dynamic targeting
102
+ * @property {boolean} isActive - Whether product set is active
103
+ * @property {string} [imageUrl] - Public image URL for the set
104
+ * @property {Array} [imageUrls] - Multiple image URLs
105
+ * @property {number} [displayOrder] - Display order in catalog
106
+ */
107
+ export declare const ProductSetSchema: z.ZodObject<{
108
+ id: z.ZodString;
109
+ createdAt: z.ZodOptional<z.ZodNumber>;
110
+ updatedAt: z.ZodOptional<z.ZodNumber>;
111
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ name: z.ZodString;
114
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
116
+ channelId: z.ZodString;
117
+ externalProductSetId: z.ZodString;
118
+ }, z.core.$strip>>>>;
119
+ targetingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetTargetingMode>>;
120
+ pricingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetPricingMode>>;
121
+ fixedPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
122
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
123
+ productId: z.ZodString;
124
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ quantity: z.ZodNumber;
126
+ isRequired: z.ZodDefault<z.ZodBoolean>;
127
+ displayOrder: z.ZodOptional<z.ZodNumber>;
128
+ }, z.core.$strip>>>>;
129
+ selector: z.ZodOptional<z.ZodNullable<z.ZodObject<{
130
+ productIdsAny: z.ZodDefault<z.ZodArray<z.ZodString>>;
131
+ productIdsAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
132
+ allProducts: z.ZodDefault<z.ZodBoolean>;
133
+ quantityExact: z.ZodOptional<z.ZodNumber>;
134
+ quantityMin: z.ZodOptional<z.ZodNumber>;
135
+ quantityMax: z.ZodOptional<z.ZodNumber>;
136
+ }, z.core.$strip>>>;
137
+ isActive: z.ZodDefault<z.ZodBoolean>;
138
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
139
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
140
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
141
+ }, z.core.$strip>;
142
+ export declare const CreateProductSetSchema: z.ZodObject<{
143
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
144
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
145
+ name: z.ZodString;
146
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
147
+ isActive: z.ZodDefault<z.ZodBoolean>;
148
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
149
+ channelId: z.ZodString;
150
+ externalProductSetId: z.ZodString;
151
+ }, z.core.$strip>>>>;
152
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
153
+ productId: z.ZodString;
154
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
+ quantity: z.ZodNumber;
156
+ isRequired: z.ZodDefault<z.ZodBoolean>;
157
+ displayOrder: z.ZodOptional<z.ZodNumber>;
158
+ }, z.core.$strip>>>>;
159
+ targetingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetTargetingMode>>;
160
+ pricingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetPricingMode>>;
161
+ fixedPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
162
+ selector: z.ZodOptional<z.ZodNullable<z.ZodObject<{
163
+ productIdsAny: z.ZodDefault<z.ZodArray<z.ZodString>>;
164
+ productIdsAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
165
+ allProducts: z.ZodDefault<z.ZodBoolean>;
166
+ quantityExact: z.ZodOptional<z.ZodNumber>;
167
+ quantityMin: z.ZodOptional<z.ZodNumber>;
168
+ quantityMax: z.ZodOptional<z.ZodNumber>;
169
+ }, z.core.$strip>>>;
170
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
172
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ }, z.core.$strip>;
174
+ export declare const UpdateProductSetSchema: z.ZodObject<{
175
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
176
+ code: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
177
+ name: z.ZodOptional<z.ZodString>;
178
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
179
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
180
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
181
+ channelId: z.ZodString;
182
+ externalProductSetId: z.ZodString;
183
+ }, z.core.$strip>>>>>;
184
+ items: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
185
+ productId: z.ZodString;
186
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ quantity: z.ZodNumber;
188
+ isRequired: z.ZodDefault<z.ZodBoolean>;
189
+ displayOrder: z.ZodOptional<z.ZodNumber>;
190
+ }, z.core.$strip>>>>>;
191
+ targetingMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<typeof ProductSetTargetingMode>>>;
192
+ pricingMode: z.ZodOptional<z.ZodDefault<z.ZodEnum<typeof ProductSetPricingMode>>>;
193
+ fixedPrice: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
194
+ selector: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
195
+ productIdsAny: z.ZodDefault<z.ZodArray<z.ZodString>>;
196
+ productIdsAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
197
+ allProducts: z.ZodDefault<z.ZodBoolean>;
198
+ quantityExact: z.ZodOptional<z.ZodNumber>;
199
+ quantityMin: z.ZodOptional<z.ZodNumber>;
200
+ quantityMax: z.ZodOptional<z.ZodNumber>;
201
+ }, z.core.$strip>>>>;
202
+ imageUrl: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
203
+ imageUrls: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
204
+ productRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
205
+ id: z.ZodString;
206
+ }, z.core.$strip>;
207
+ export type ProductSetItem = z.infer<typeof ProductSetItemSchema>;
208
+ export type ProductSetChannelMapping = z.infer<typeof ProductSetChannelMappingSchema>;
209
+ export type ProductSetSelector = z.infer<typeof ProductSetSelectorSchema>;
210
+ export type ProductSet = z.infer<typeof ProductSetSchema>;
211
+ export type CreateProductSet = z.infer<typeof CreateProductSetSchema>;
212
+ export type UpdateProductSet = z.infer<typeof UpdateProductSetSchema>;
213
+ /**
214
+ * Product set item display schema.
215
+ * Extended item schema with resolved product data for UI rendering.
216
+ *
217
+ * @typedef {Object} ProductSetItemDisplay
218
+ * @property {Object} [product] - Resolved BusinessProduct snapshot
219
+ */
220
+ export declare const ProductSetItemDisplaySchema: z.ZodObject<{
221
+ productId: z.ZodString;
222
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
223
+ quantity: z.ZodNumber;
224
+ isRequired: z.ZodDefault<z.ZodBoolean>;
225
+ displayOrder: z.ZodOptional<z.ZodNumber>;
226
+ product: z.ZodOptional<z.ZodObject<{
227
+ id: z.ZodString;
228
+ createdAt: z.ZodOptional<z.ZodNumber>;
229
+ updatedAt: z.ZodOptional<z.ZodNumber>;
230
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
232
+ channelId: z.ZodString;
233
+ externalProductId: z.ZodString;
234
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
235
+ }, z.core.$strip>>>>;
236
+ name: z.ZodString;
237
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
239
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
240
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
241
+ price: z.ZodNumber;
242
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
243
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
244
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
245
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
246
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
247
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("./product-config.schema").BarcodeFormat>>>;
248
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
249
+ categoryId: z.ZodString;
250
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
251
+ id: z.ZodString;
252
+ createdAt: z.ZodOptional<z.ZodNumber>;
253
+ updatedAt: z.ZodOptional<z.ZodNumber>;
254
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
255
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
256
+ name: z.ZodString;
257
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
258
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
260
+ channelId: z.ZodString;
261
+ externalCategoryId: z.ZodString;
262
+ }, z.core.$strip>>>>;
263
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
264
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
266
+ isDefault: z.ZodDefault<z.ZodBoolean>;
267
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
268
+ attributeDefId: z.ZodString;
269
+ required: z.ZodDefault<z.ZodBoolean>;
270
+ displayOrder: z.ZodDefault<z.ZodNumber>;
271
+ }, z.core.$strip>>>>;
272
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
273
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
274
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
275
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
276
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
277
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
278
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("./product-config.schema").CategoryLocationScope>>>;
279
+ }, z.core.$strip>>>;
280
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
281
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
282
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
283
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
284
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
285
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
286
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
287
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
288
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
289
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
290
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
291
+ length: z.ZodNumber;
292
+ width: z.ZodNumber;
293
+ height: z.ZodNumber;
294
+ unit: z.ZodDefault<z.ZodEnum<{
295
+ cm: "cm";
296
+ inches: "inches";
297
+ }>>;
298
+ }, z.core.$strip>>>;
299
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
300
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
301
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
302
+ attributeDefId: z.ZodString;
303
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
304
+ }, z.core.$strip>>>>;
305
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
306
+ isActive: z.ZodDefault<z.ZodBoolean>;
307
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
308
+ orderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
309
+ recentOrderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
310
+ lastOrderedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
311
+ }, z.core.$strip>>;
312
+ }, z.core.$strip>;
313
+ /**
314
+ * Product set display schema.
315
+ * Extended set schema with resolved items and computed pricing for UI rendering.
316
+ *
317
+ * @typedef {Object} ProductSetDisplay
318
+ * @property {Array} items - ProductSetItemDisplay array with resolved data
319
+ * @property {number} [resolvedPrice] - Computed display price for the set
320
+ */
321
+ export declare const ProductSetDisplaySchema: z.ZodObject<{
322
+ id: z.ZodString;
323
+ createdAt: z.ZodOptional<z.ZodNumber>;
324
+ updatedAt: z.ZodOptional<z.ZodNumber>;
325
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
326
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
327
+ name: z.ZodString;
328
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
+ isActive: z.ZodDefault<z.ZodBoolean>;
330
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
331
+ channelId: z.ZodString;
332
+ externalProductSetId: z.ZodString;
333
+ }, z.core.$strip>>>>;
334
+ targetingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetTargetingMode>>;
335
+ pricingMode: z.ZodDefault<z.ZodEnum<typeof ProductSetPricingMode>>;
336
+ fixedPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
337
+ selector: z.ZodOptional<z.ZodNullable<z.ZodObject<{
338
+ productIdsAny: z.ZodDefault<z.ZodArray<z.ZodString>>;
339
+ productIdsAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
340
+ allProducts: z.ZodDefault<z.ZodBoolean>;
341
+ quantityExact: z.ZodOptional<z.ZodNumber>;
342
+ quantityMin: z.ZodOptional<z.ZodNumber>;
343
+ quantityMax: z.ZodOptional<z.ZodNumber>;
344
+ }, z.core.$strip>>>;
345
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
347
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
348
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
349
+ productId: z.ZodString;
350
+ productVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
351
+ quantity: z.ZodNumber;
352
+ isRequired: z.ZodDefault<z.ZodBoolean>;
353
+ displayOrder: z.ZodOptional<z.ZodNumber>;
354
+ product: z.ZodOptional<z.ZodObject<{
355
+ id: z.ZodString;
356
+ createdAt: z.ZodOptional<z.ZodNumber>;
357
+ updatedAt: z.ZodOptional<z.ZodNumber>;
358
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
360
+ channelId: z.ZodString;
361
+ externalProductId: z.ZodString;
362
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ }, z.core.$strip>>>>;
364
+ name: z.ZodString;
365
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
366
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
367
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
368
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
369
+ price: z.ZodNumber;
370
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
371
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
372
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
373
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
374
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
375
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("./product-config.schema").BarcodeFormat>>>;
376
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
377
+ categoryId: z.ZodString;
378
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
379
+ id: z.ZodString;
380
+ createdAt: z.ZodOptional<z.ZodNumber>;
381
+ updatedAt: z.ZodOptional<z.ZodNumber>;
382
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
383
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
384
+ name: z.ZodString;
385
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
386
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
387
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
388
+ channelId: z.ZodString;
389
+ externalCategoryId: z.ZodString;
390
+ }, z.core.$strip>>>>;
391
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
394
+ isDefault: z.ZodDefault<z.ZodBoolean>;
395
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
396
+ attributeDefId: z.ZodString;
397
+ required: z.ZodDefault<z.ZodBoolean>;
398
+ displayOrder: z.ZodDefault<z.ZodNumber>;
399
+ }, z.core.$strip>>>>;
400
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
401
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
402
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
403
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
404
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
405
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
406
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("./product-config.schema").CategoryLocationScope>>>;
407
+ }, z.core.$strip>>>;
408
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
409
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
410
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
411
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
412
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
413
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
414
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
415
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
416
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
417
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
418
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
419
+ length: z.ZodNumber;
420
+ width: z.ZodNumber;
421
+ height: z.ZodNumber;
422
+ unit: z.ZodDefault<z.ZodEnum<{
423
+ cm: "cm";
424
+ inches: "inches";
425
+ }>>;
426
+ }, z.core.$strip>>>;
427
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
428
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
429
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
430
+ attributeDefId: z.ZodString;
431
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
432
+ }, z.core.$strip>>>>;
433
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
434
+ isActive: z.ZodDefault<z.ZodBoolean>;
435
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
436
+ orderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
437
+ recentOrderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
438
+ lastOrderedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
439
+ }, z.core.$strip>>;
440
+ }, z.core.$strip>>>>;
441
+ resolvedPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
442
+ }, z.core.$strip>;
443
+ export type ProductSetItemDisplay = z.infer<typeof ProductSetItemDisplaySchema>;
444
+ export type ProductSetDisplay = z.infer<typeof ProductSetDisplaySchema>;
445
+ /**
446
+ * Product set filter options.
447
+ * @interface ProductSetFilters
448
+ */
449
+ export interface ProductSetFilters {
450
+ /** Text search across name/description */
451
+ search?: string;
452
+ /** Filter by product revision ID */
453
+ productRevisionId?: string;
454
+ /** Filter by location ID */
455
+ locationId?: string;
456
+ /** Filter by internal code */
457
+ code?: string;
458
+ /** Filter by targeting mode */
459
+ targetingMode?: ProductSetTargetingMode;
460
+ /** Filter by active status */
461
+ isActive?: boolean;
462
+ /** Filter by pricing mode */
463
+ pricingMode?: ProductSetPricingMode;
464
+ }
465
+ /**
466
+ * Product set sorting options.
467
+ * @interface ProductSetSorting
468
+ */
469
+ export interface ProductSetSorting {
470
+ /** Field to sort by */
471
+ field: "name" | "createdAt" | "displayOrder";
472
+ /** Sort direction */
473
+ direction: "asc" | "desc";
474
+ }
475
+ /**
476
+ * Product set query options.
477
+ * @interface ProductSetQueryOptions
478
+ */
479
+ export interface ProductSetQueryOptions {
480
+ /** Page number (1-indexed) */
481
+ page: number;
482
+ /** Items per page */
483
+ pageSize: number;
484
+ /** Optional filters */
485
+ filters?: ProductSetFilters;
486
+ /** Optional sorting */
487
+ sorting?: ProductSetSorting;
488
+ }