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,1042 @@
1
+ import z from "zod";
2
+ /**
3
+ * @fileoverview Product configuration schema definitions for business management.
4
+ * @module business-mgt/product-config
5
+ *
6
+ * Includes categories, products, attribute definitions, and channel mappings
7
+ * for multi-platform product catalog management.
8
+ */
9
+ /**
10
+ * Attribute definition type.
11
+ * Determines the data type of attribute values.
12
+ *
13
+ * @enum {string}
14
+ */
15
+ export declare enum AttributeDefType {
16
+ STRING = "string",
17
+ NUMBER = "number",
18
+ BOOLEAN = "boolean",
19
+ ENUM = "enum",
20
+ DATE = "date",
21
+ URL = "url"
22
+ }
23
+ /**
24
+ * Category location scope.
25
+ * Determines whether category is inherited across locations or local.
26
+ *
27
+ * @enum {string}
28
+ */
29
+ export declare enum CategoryLocationScope {
30
+ /** Category is inherited from parent organization */
31
+ INHERITED = "inherited",
32
+ /** Category is local to specific location */
33
+ LOCAL = "local"
34
+ }
35
+ /**
36
+ * Barcode format types.
37
+ * Supported barcode formats for product identifiers.
38
+ *
39
+ * @enum {string}
40
+ */
41
+ export declare enum BarcodeFormat {
42
+ UPC_A = "UPC_A",
43
+ UPC_E = "UPC_E",
44
+ EAN_13 = "EAN_13",
45
+ EAN_8 = "EAN_8",
46
+ CODE_128 = "CODE_128",
47
+ CODE_39 = "CODE_39",
48
+ ITF_14 = "ITF_14",
49
+ QR = "QR"
50
+ }
51
+ /**
52
+ * Attribute definition schema.
53
+ * Organization-level attribute definitions for products.
54
+ *
55
+ * @typedef {Object} AttributeDef
56
+ * @property {string} name - Attribute name (e.g., 'Voltage', 'Warranty Months')
57
+ * @property {string} slug - URL-friendly slug for the attribute
58
+ * @property {AttributeDefType} type - Attribute value type
59
+ * @property {string} [unit] - Unit of measurement
60
+ * @property {Array} [enumValues] - Allowed values for enum type
61
+ * @property {boolean} isActive - Whether attribute definition is active
62
+ */
63
+ export declare const AttributeDefSchema: z.ZodObject<{
64
+ id: z.ZodString;
65
+ createdAt: z.ZodOptional<z.ZodNumber>;
66
+ updatedAt: z.ZodOptional<z.ZodNumber>;
67
+ name: z.ZodString;
68
+ slug: z.ZodString;
69
+ type: z.ZodEnum<typeof AttributeDefType>;
70
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ enumValues: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
72
+ isActive: z.ZodDefault<z.ZodBoolean>;
73
+ }, z.core.$strip>;
74
+ /**
75
+ * Category attribute binding schema.
76
+ * Links categories to attribute definitions with category-specific settings.
77
+ *
78
+ * @typedef {Object} CategoryAttributeBinding
79
+ * @property {string} attributeDefId - Reference to AttributeDef.id
80
+ * @property {boolean} required - Whether attribute is required for products
81
+ * @property {number} displayOrder - Display order for this attribute
82
+ */
83
+ export declare const CategoryAttributeBindingSchema: z.ZodObject<{
84
+ attributeDefId: z.ZodString;
85
+ required: z.ZodDefault<z.ZodBoolean>;
86
+ displayOrder: z.ZodDefault<z.ZodNumber>;
87
+ }, z.core.$strip>;
88
+ /**
89
+ * Product attribute value schema.
90
+ * Stores actual attribute values for products.
91
+ *
92
+ * @typedef {Object} ProductAttributeValue
93
+ * @property {string} attributeDefId - Reference to AttributeDef.id
94
+ * @property {string|number|boolean} value - Attribute value
95
+ */
96
+ export declare const ProductAttributeValueSchema: z.ZodObject<{
97
+ attributeDefId: z.ZodString;
98
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
99
+ }, z.core.$strip>;
100
+ /**
101
+ * Product category channel mapping schema.
102
+ * Maps categories to external platform identifiers.
103
+ *
104
+ * @typedef {Object} ProductCategoryChannelMapping
105
+ * @property {string} channelId - Channel identifier
106
+ * @property {string} externalCategoryId - External category ID
107
+ */
108
+ export declare const ProductCategoryChannelMappingSchema: z.ZodObject<{
109
+ channelId: z.ZodString;
110
+ externalCategoryId: z.ZodString;
111
+ }, z.core.$strip>;
112
+ /**
113
+ * Product channel mapping schema.
114
+ * Maps products to external platform identifiers.
115
+ *
116
+ * @typedef {Object} ProductChannelMapping
117
+ * @property {string} channelId - Channel identifier
118
+ * @property {string} externalProductId - External product ID
119
+ * @property {string} [externalCategoryId] - External category ID in channel
120
+ */
121
+ export declare const ProductChannelMappingSchema: z.ZodObject<{
122
+ channelId: z.ZodString;
123
+ externalProductId: z.ZodString;
124
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ }, z.core.$strip>;
126
+ /**
127
+ * Product category schema.
128
+ *
129
+ * @typedef {Object} ProductCategory
130
+ * @property {string} [productRevisionId] - Version control for category changes
131
+ * @property {string} [parentId] - Parent category ID for nested hierarchy
132
+ * @property {string} name - Category name
133
+ * @property {string} [slug] - URL-friendly slug
134
+ * @property {string} [description] - Category description
135
+ * @property {Array} [channelMappings] - Per-channel category ID mappings
136
+ * @property {string} [iconId] - Icon image ID
137
+ * @property {string} [heroImageId] - Hero/banner image ID
138
+ * @property {number} [displayOrder] - Display order in catalog
139
+ * @property {boolean} isDefault - Whether this is the default category
140
+ * @property {Array} [attributeBindings] - Attribute bindings for products
141
+ * @property {Array} [defaultAxisIds] - Default variant axis IDs
142
+ * @property {Array} [defaultChannelIds] - Default channel IDs
143
+ * @property {string} [taxClassId] - Tax class ID
144
+ * @property {number} [targetMargin] - Target profit margin (0-1)
145
+ * @property {boolean} [ageRestricted] - Whether products are age-restricted
146
+ * @property {boolean} [requireImage] - Whether products must have an image
147
+ * @property {CategoryLocationScope} [locationScope] - Location inheritance scope
148
+ */
149
+ export declare const ProductCategorySchema: z.ZodObject<{
150
+ id: z.ZodString;
151
+ createdAt: z.ZodOptional<z.ZodNumber>;
152
+ updatedAt: z.ZodOptional<z.ZodNumber>;
153
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
+ name: z.ZodString;
156
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
158
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
159
+ channelId: z.ZodString;
160
+ externalCategoryId: z.ZodString;
161
+ }, z.core.$strip>>>>;
162
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
165
+ isDefault: z.ZodDefault<z.ZodBoolean>;
166
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
167
+ attributeDefId: z.ZodString;
168
+ required: z.ZodDefault<z.ZodBoolean>;
169
+ displayOrder: z.ZodDefault<z.ZodNumber>;
170
+ }, z.core.$strip>>>>;
171
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
172
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
173
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
175
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
176
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
177
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
178
+ }, z.core.$strip>;
179
+ /**
180
+ * Business product schema.
181
+ *
182
+ * @typedef {Object} BusinessProduct
183
+ * @property {string} [productRevisionId] - Version control for product changes
184
+ * @property {Array} [channelMappings] - Per-channel product ID mappings
185
+ * @property {string} name - Product name
186
+ * @property {string} [description] - Product description
187
+ * @property {string} [imageUrl] - Public image URL
188
+ * @property {Array} [imageUrls] - Product gallery image URLs
189
+ * @property {Array} [tags] - Product tags for search and filtering
190
+ * @property {number} price - Product price
191
+ * @property {number} [cost] - Cost of goods
192
+ * @property {number} [compareAtPrice] - Original price for sale display
193
+ * @property {string} [sku] - Stock Keeping Unit identifier
194
+ * @property {string} [skuPattern] - SKU template for variant generation
195
+ * @property {string} [barcode] - Product barcode
196
+ * @property {BarcodeFormat} [barcodeFormat] - Barcode format
197
+ * @property {boolean} [isAlcoholic] - Whether product is alcoholic
198
+ * @property {string} categoryId - Category ID
199
+ * @property {Object} [category] - Product category
200
+ * @property {string} [brand] - Product brand name
201
+ * @property {string} [brandId] - Product brand ID
202
+ * @property {boolean} trackInventory - Whether to track inventory
203
+ * @property {number} [stockQuantity] - Current stock quantity
204
+ * @property {number} [lowStockThreshold] - Low stock alert threshold
205
+ * @property {number} [stockedAt] - Unix timestamp when stock was last updated
206
+ * @property {number} [reorderPoint] - Inventory threshold for replenishment
207
+ * @property {number} [leadTime] - Supplier lead time in days
208
+ * @property {string} [supplierId] - Preferred supplier ID
209
+ * @property {number} [weight] - Product weight
210
+ * @property {Object} [dimensions] - Product dimensions
211
+ * @property {string} [shippingClassId] - Shipping class ID
212
+ * @property {string} [HSCode] - Harmonized System Code
213
+ * @property {Array} [attributes] - Product attribute values
214
+ * @property {Array} [taxRuleIds] - Tax rule IDs
215
+ * @property {boolean} isActive - Whether product is available for sale
216
+ * @property {number} [displayOrder] - Display order in category
217
+ */
218
+ export declare const BusinessProductSchema: z.ZodObject<{
219
+ id: z.ZodString;
220
+ createdAt: z.ZodOptional<z.ZodNumber>;
221
+ updatedAt: z.ZodOptional<z.ZodNumber>;
222
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
223
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
224
+ channelId: z.ZodString;
225
+ externalProductId: z.ZodString;
226
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
227
+ }, z.core.$strip>>>>;
228
+ name: z.ZodString;
229
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
230
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
231
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
232
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
233
+ price: z.ZodNumber;
234
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
235
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
236
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof BarcodeFormat>>>;
240
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
241
+ categoryId: z.ZodString;
242
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
243
+ id: z.ZodString;
244
+ createdAt: z.ZodOptional<z.ZodNumber>;
245
+ updatedAt: z.ZodOptional<z.ZodNumber>;
246
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
247
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
248
+ name: z.ZodString;
249
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
250
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
251
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
252
+ channelId: z.ZodString;
253
+ externalCategoryId: z.ZodString;
254
+ }, z.core.$strip>>>>;
255
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
256
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
257
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
258
+ isDefault: z.ZodDefault<z.ZodBoolean>;
259
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
260
+ attributeDefId: z.ZodString;
261
+ required: z.ZodDefault<z.ZodBoolean>;
262
+ displayOrder: z.ZodDefault<z.ZodNumber>;
263
+ }, z.core.$strip>>>>;
264
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
265
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
266
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
267
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
268
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
269
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
270
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
271
+ }, z.core.$strip>>>;
272
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
274
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
275
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
276
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
277
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
278
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
279
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
280
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
281
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
282
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
283
+ length: z.ZodNumber;
284
+ width: z.ZodNumber;
285
+ height: z.ZodNumber;
286
+ unit: z.ZodDefault<z.ZodEnum<{
287
+ cm: "cm";
288
+ inches: "inches";
289
+ }>>;
290
+ }, z.core.$strip>>>;
291
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
292
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
293
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
294
+ attributeDefId: z.ZodString;
295
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
296
+ }, z.core.$strip>>>>;
297
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
298
+ isActive: z.ZodDefault<z.ZodBoolean>;
299
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
300
+ orderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
301
+ recentOrderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
302
+ lastOrderedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
303
+ }, z.core.$strip>;
304
+ /**
305
+ * Schema for creating a new attribute definition.
306
+ * Omits auto-generated fields.
307
+ */
308
+ export declare const CreateAttributeDefSchema: z.ZodObject<{
309
+ type: z.ZodEnum<typeof AttributeDefType>;
310
+ name: z.ZodString;
311
+ isActive: z.ZodDefault<z.ZodBoolean>;
312
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
313
+ slug: z.ZodString;
314
+ enumValues: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
315
+ }, z.core.$strip>;
316
+ /**
317
+ * Schema for updating an existing attribute definition.
318
+ * All fields optional except id (required).
319
+ */
320
+ export declare const UpdateAttributeDefSchema: z.ZodObject<{
321
+ type: z.ZodOptional<z.ZodEnum<typeof AttributeDefType>>;
322
+ name: z.ZodOptional<z.ZodString>;
323
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
324
+ unit: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
325
+ slug: z.ZodOptional<z.ZodString>;
326
+ enumValues: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
327
+ id: z.ZodString;
328
+ }, z.core.$strip>;
329
+ /**
330
+ * Schema for creating a new product category.
331
+ * Omits auto-generated fields.
332
+ */
333
+ export declare const CreateProductCategorySchema: z.ZodObject<{
334
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
335
+ name: z.ZodString;
336
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
337
+ isDefault: z.ZodDefault<z.ZodBoolean>;
338
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
339
+ channelId: z.ZodString;
340
+ externalCategoryId: z.ZodString;
341
+ }, z.core.$strip>>>>;
342
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
343
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
344
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
345
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
347
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
348
+ attributeDefId: z.ZodString;
349
+ required: z.ZodDefault<z.ZodBoolean>;
350
+ displayOrder: z.ZodDefault<z.ZodNumber>;
351
+ }, z.core.$strip>>>>;
352
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
353
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
354
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
355
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
356
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
357
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
358
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
359
+ placement: z.ZodOptional<z.ZodObject<{
360
+ placementIntent: z.ZodObject<{
361
+ mode: z.ZodEnum<{
362
+ BEGINNING: "BEGINNING";
363
+ END: "END";
364
+ KEEP_CURRENT: "KEEP_CURRENT";
365
+ BEFORE_ITEM: "BEFORE_ITEM";
366
+ AFTER_ITEM: "AFTER_ITEM";
367
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
368
+ }>;
369
+ }, z.core.$strip>;
370
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
371
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
372
+ }, z.core.$strip>>;
373
+ }, z.core.$strip>;
374
+ /**
375
+ * Schema for updating an existing product category.
376
+ * All fields optional except id (required).
377
+ */
378
+ export declare const UpdateProductCategorySchema: z.ZodObject<{
379
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
380
+ name: z.ZodOptional<z.ZodString>;
381
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
382
+ isDefault: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
383
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
384
+ channelId: z.ZodString;
385
+ externalCategoryId: z.ZodString;
386
+ }, z.core.$strip>>>>>;
387
+ productRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
388
+ slug: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
389
+ parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
390
+ iconId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
391
+ heroImageId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
392
+ attributeBindings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
393
+ attributeDefId: z.ZodString;
394
+ required: z.ZodDefault<z.ZodBoolean>;
395
+ displayOrder: z.ZodDefault<z.ZodNumber>;
396
+ }, z.core.$strip>>>>>;
397
+ defaultAxisIds: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
398
+ defaultChannelIds: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
399
+ taxClassId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
400
+ targetMargin: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
401
+ ageRestricted: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
402
+ requireImage: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
403
+ locationScope: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>>;
404
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
405
+ placementIntent: z.ZodObject<{
406
+ mode: z.ZodEnum<{
407
+ BEGINNING: "BEGINNING";
408
+ END: "END";
409
+ KEEP_CURRENT: "KEEP_CURRENT";
410
+ BEFORE_ITEM: "BEFORE_ITEM";
411
+ AFTER_ITEM: "AFTER_ITEM";
412
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
413
+ }>;
414
+ }, z.core.$strip>;
415
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
416
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
417
+ }, z.core.$strip>>>;
418
+ id: z.ZodString;
419
+ }, z.core.$strip>;
420
+ /**
421
+ * Schema for creating a new business product.
422
+ * Omits auto-generated fields, category object, and analytics.
423
+ *
424
+ * @remarks
425
+ * A product must be created with at least one variant. Nested variants use the
426
+ * product variant create schema with `productId` omitted; the parent link is
427
+ * assigned by the server once the product is created.
428
+ */
429
+ export declare const CreateBusinessProductSchema: z.ZodObject<{
430
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
431
+ name: z.ZodString;
432
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
433
+ isActive: z.ZodDefault<z.ZodBoolean>;
434
+ price: z.ZodNumber;
435
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
436
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
437
+ channelId: z.ZodString;
438
+ externalProductId: z.ZodString;
439
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
440
+ }, z.core.$strip>>>>;
441
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
442
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
443
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
444
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
445
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
446
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
447
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
448
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
449
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
450
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
451
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
452
+ length: z.ZodNumber;
453
+ width: z.ZodNumber;
454
+ height: z.ZodNumber;
455
+ unit: z.ZodDefault<z.ZodEnum<{
456
+ cm: "cm";
457
+ inches: "inches";
458
+ }>>;
459
+ }, z.core.$strip>>>;
460
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
461
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof BarcodeFormat>>>;
462
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
463
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
464
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
465
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
466
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
467
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
468
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
469
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
470
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
472
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
473
+ attributeDefId: z.ZodString;
474
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
475
+ }, z.core.$strip>>>>;
476
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
477
+ categoryId: z.ZodOptional<z.ZodString>;
478
+ placement: z.ZodOptional<z.ZodObject<{
479
+ placementIntent: z.ZodObject<{
480
+ mode: z.ZodEnum<{
481
+ BEGINNING: "BEGINNING";
482
+ END: "END";
483
+ KEEP_CURRENT: "KEEP_CURRENT";
484
+ BEFORE_ITEM: "BEFORE_ITEM";
485
+ AFTER_ITEM: "AFTER_ITEM";
486
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
487
+ }>;
488
+ }, z.core.$strip>;
489
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
490
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
491
+ }, z.core.$strip>>;
492
+ variants: z.ZodArray<z.ZodObject<{
493
+ isDefault: z.ZodDefault<z.ZodBoolean>;
494
+ isActive: z.ZodDefault<z.ZodBoolean>;
495
+ price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
496
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
497
+ channelId: z.ZodString;
498
+ externalVariantId: z.ZodString;
499
+ externalProductId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
500
+ }, z.core.$strip>>>>;
501
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
502
+ axisValues: z.ZodRecord<z.ZodString, z.ZodString>;
503
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
504
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
505
+ partNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
506
+ globalTradeItemNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
507
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
508
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
509
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
510
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
511
+ unitDefinitionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
512
+ inventoryUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("../..").InventoryUnit>>>;
513
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
514
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
515
+ length: z.ZodNumber;
516
+ width: z.ZodNumber;
517
+ height: z.ZodNumber;
518
+ unit: z.ZodDefault<z.ZodEnum<{
519
+ cm: "cm";
520
+ inches: "inches";
521
+ }>>;
522
+ }, z.core.$strip>>>;
523
+ imageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
524
+ imageIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
525
+ }, z.core.$strip>>;
526
+ }, z.core.$strip>;
527
+ /**
528
+ * Schema for updating an existing business product.
529
+ * All fields optional except id (required).
530
+ */
531
+ export declare const UpdateBusinessProductSchema: z.ZodObject<{
532
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
533
+ name: z.ZodOptional<z.ZodString>;
534
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
535
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
536
+ price: z.ZodOptional<z.ZodNumber>;
537
+ tags: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
538
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
539
+ channelId: z.ZodString;
540
+ externalProductId: z.ZodString;
541
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
542
+ }, z.core.$strip>>>>>;
543
+ imageUrl: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodURL>>>;
544
+ imageUrls: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>>;
545
+ productRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
546
+ sku: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
547
+ barcode: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
548
+ cost: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
549
+ compareAtPrice: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
550
+ stockQuantity: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
551
+ lowStockThreshold: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
552
+ weight: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
553
+ dimensions: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
554
+ length: z.ZodNumber;
555
+ width: z.ZodNumber;
556
+ height: z.ZodNumber;
557
+ unit: z.ZodDefault<z.ZodEnum<{
558
+ cm: "cm";
559
+ inches: "inches";
560
+ }>>;
561
+ }, z.core.$strip>>>>;
562
+ skuPattern: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
563
+ barcodeFormat: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof BarcodeFormat>>>>;
564
+ isAlcoholic: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>>;
565
+ brand: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
566
+ brandId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
567
+ trackInventory: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
568
+ stockedAt: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
569
+ reorderPoint: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
570
+ leadTime: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
571
+ supplierId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
572
+ shippingClassId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
573
+ HSCode: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
574
+ attributes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
575
+ attributeDefId: z.ZodString;
576
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
577
+ }, z.core.$strip>>>>>;
578
+ taxRuleIds: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>>;
579
+ categoryId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
580
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
581
+ placementIntent: z.ZodObject<{
582
+ mode: z.ZodEnum<{
583
+ BEGINNING: "BEGINNING";
584
+ END: "END";
585
+ KEEP_CURRENT: "KEEP_CURRENT";
586
+ BEFORE_ITEM: "BEFORE_ITEM";
587
+ AFTER_ITEM: "AFTER_ITEM";
588
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
589
+ }>;
590
+ }, z.core.$strip>;
591
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
592
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
593
+ }, z.core.$strip>>>;
594
+ variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
595
+ isDefault: z.ZodDefault<z.ZodBoolean>;
596
+ isActive: z.ZodDefault<z.ZodBoolean>;
597
+ price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
598
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
599
+ channelId: z.ZodString;
600
+ externalVariantId: z.ZodString;
601
+ externalProductId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
602
+ }, z.core.$strip>>>>;
603
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
604
+ axisValues: z.ZodRecord<z.ZodString, z.ZodString>;
605
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
606
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
607
+ partNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
608
+ globalTradeItemNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
609
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
610
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
611
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
612
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
613
+ unitDefinitionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
614
+ inventoryUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof import("../..").InventoryUnit>>>;
615
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
616
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
617
+ length: z.ZodNumber;
618
+ width: z.ZodNumber;
619
+ height: z.ZodNumber;
620
+ unit: z.ZodDefault<z.ZodEnum<{
621
+ cm: "cm";
622
+ inches: "inches";
623
+ }>>;
624
+ }, z.core.$strip>>>;
625
+ imageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
626
+ imageIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
627
+ }, z.core.$strip>>>;
628
+ id: z.ZodString;
629
+ }, z.core.$strip>;
630
+ /**
631
+ * Product catalog schema.
632
+ * Represents a category with its list of products.
633
+ *
634
+ * @typedef {Object} ProductCatalog
635
+ * @property {Object} productCategory - The ProductCategory object
636
+ * @property {Array} items - List of products in this category
637
+ */
638
+ export declare const ProductCatalogSchema: z.ZodObject<{
639
+ productCategory: z.ZodObject<{
640
+ id: z.ZodString;
641
+ createdAt: z.ZodOptional<z.ZodNumber>;
642
+ updatedAt: z.ZodOptional<z.ZodNumber>;
643
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
644
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
645
+ name: z.ZodString;
646
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
647
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
648
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
649
+ channelId: z.ZodString;
650
+ externalCategoryId: z.ZodString;
651
+ }, z.core.$strip>>>>;
652
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
653
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
654
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
655
+ isDefault: z.ZodDefault<z.ZodBoolean>;
656
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
657
+ attributeDefId: z.ZodString;
658
+ required: z.ZodDefault<z.ZodBoolean>;
659
+ displayOrder: z.ZodDefault<z.ZodNumber>;
660
+ }, z.core.$strip>>>>;
661
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
662
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
663
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
664
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
665
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
666
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
667
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
668
+ }, z.core.$strip>;
669
+ items: z.ZodArray<z.ZodObject<{
670
+ id: z.ZodString;
671
+ createdAt: z.ZodOptional<z.ZodNumber>;
672
+ updatedAt: z.ZodOptional<z.ZodNumber>;
673
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
674
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
675
+ channelId: z.ZodString;
676
+ externalProductId: z.ZodString;
677
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
678
+ }, z.core.$strip>>>>;
679
+ name: z.ZodString;
680
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
681
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
682
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
683
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
684
+ price: z.ZodNumber;
685
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
686
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
687
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
688
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
689
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
690
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof BarcodeFormat>>>;
691
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
692
+ categoryId: z.ZodString;
693
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
694
+ id: z.ZodString;
695
+ createdAt: z.ZodOptional<z.ZodNumber>;
696
+ updatedAt: z.ZodOptional<z.ZodNumber>;
697
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
698
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
699
+ name: z.ZodString;
700
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
701
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
702
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
703
+ channelId: z.ZodString;
704
+ externalCategoryId: z.ZodString;
705
+ }, z.core.$strip>>>>;
706
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
707
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
708
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
709
+ isDefault: z.ZodDefault<z.ZodBoolean>;
710
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
711
+ attributeDefId: z.ZodString;
712
+ required: z.ZodDefault<z.ZodBoolean>;
713
+ displayOrder: z.ZodDefault<z.ZodNumber>;
714
+ }, z.core.$strip>>>>;
715
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
716
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
717
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
718
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
719
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
720
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
721
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
722
+ }, z.core.$strip>>>;
723
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
725
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
726
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
727
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
728
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
729
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
730
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
731
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
732
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
733
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
734
+ length: z.ZodNumber;
735
+ width: z.ZodNumber;
736
+ height: z.ZodNumber;
737
+ unit: z.ZodDefault<z.ZodEnum<{
738
+ cm: "cm";
739
+ inches: "inches";
740
+ }>>;
741
+ }, z.core.$strip>>>;
742
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
743
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
744
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
745
+ attributeDefId: z.ZodString;
746
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
747
+ }, z.core.$strip>>>>;
748
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
749
+ isActive: z.ZodDefault<z.ZodBoolean>;
750
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
751
+ orderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
752
+ recentOrderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
753
+ lastOrderedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
754
+ }, z.core.$strip>>;
755
+ }, z.core.$strip>;
756
+ /**
757
+ * Business product catalog schema.
758
+ * Full catalog as array of category sections.
759
+ */
760
+ export declare const BusinessProductCatalogSchema: z.ZodArray<z.ZodObject<{
761
+ productCategory: z.ZodObject<{
762
+ id: z.ZodString;
763
+ createdAt: z.ZodOptional<z.ZodNumber>;
764
+ updatedAt: z.ZodOptional<z.ZodNumber>;
765
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
766
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
767
+ name: z.ZodString;
768
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
769
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
770
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
771
+ channelId: z.ZodString;
772
+ externalCategoryId: z.ZodString;
773
+ }, z.core.$strip>>>>;
774
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
775
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
776
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
777
+ isDefault: z.ZodDefault<z.ZodBoolean>;
778
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
779
+ attributeDefId: z.ZodString;
780
+ required: z.ZodDefault<z.ZodBoolean>;
781
+ displayOrder: z.ZodDefault<z.ZodNumber>;
782
+ }, z.core.$strip>>>>;
783
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
784
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
785
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
787
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
788
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
789
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
790
+ }, z.core.$strip>;
791
+ items: z.ZodArray<z.ZodObject<{
792
+ id: z.ZodString;
793
+ createdAt: z.ZodOptional<z.ZodNumber>;
794
+ updatedAt: z.ZodOptional<z.ZodNumber>;
795
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
796
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
797
+ channelId: z.ZodString;
798
+ externalProductId: z.ZodString;
799
+ externalCategoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
800
+ }, z.core.$strip>>>>;
801
+ name: z.ZodString;
802
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
803
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
804
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
805
+ tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
806
+ price: z.ZodNumber;
807
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
808
+ compareAtPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
809
+ sku: z.ZodOptional<z.ZodNullable<z.ZodString>>;
810
+ skuPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
811
+ barcode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
812
+ barcodeFormat: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof BarcodeFormat>>>;
813
+ isAlcoholic: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
814
+ categoryId: z.ZodString;
815
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
816
+ id: z.ZodString;
817
+ createdAt: z.ZodOptional<z.ZodNumber>;
818
+ updatedAt: z.ZodOptional<z.ZodNumber>;
819
+ productRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
820
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
821
+ name: z.ZodString;
822
+ slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
823
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
824
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
825
+ channelId: z.ZodString;
826
+ externalCategoryId: z.ZodString;
827
+ }, z.core.$strip>>>>;
828
+ iconId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
829
+ heroImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
830
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
831
+ isDefault: z.ZodDefault<z.ZodBoolean>;
832
+ attributeBindings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
833
+ attributeDefId: z.ZodString;
834
+ required: z.ZodDefault<z.ZodBoolean>;
835
+ displayOrder: z.ZodDefault<z.ZodNumber>;
836
+ }, z.core.$strip>>>>;
837
+ defaultAxisIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
838
+ defaultChannelIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
839
+ taxClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
840
+ targetMargin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
841
+ ageRestricted: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
842
+ requireImage: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
843
+ locationScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof CategoryLocationScope>>>;
844
+ }, z.core.$strip>>>;
845
+ brand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
846
+ brandId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
847
+ trackInventory: z.ZodDefault<z.ZodBoolean>;
848
+ stockQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
849
+ lowStockThreshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
850
+ stockedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
851
+ reorderPoint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
852
+ leadTime: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
853
+ supplierId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
854
+ weight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
855
+ dimensions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
856
+ length: z.ZodNumber;
857
+ width: z.ZodNumber;
858
+ height: z.ZodNumber;
859
+ unit: z.ZodDefault<z.ZodEnum<{
860
+ cm: "cm";
861
+ inches: "inches";
862
+ }>>;
863
+ }, z.core.$strip>>>;
864
+ shippingClassId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
865
+ HSCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
866
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
867
+ attributeDefId: z.ZodString;
868
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
869
+ }, z.core.$strip>>>>;
870
+ taxRuleIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
871
+ isActive: z.ZodDefault<z.ZodBoolean>;
872
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
873
+ orderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
874
+ recentOrderCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
875
+ lastOrderedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
876
+ }, z.core.$strip>>;
877
+ }, z.core.$strip>>;
878
+ type ProductCategoryBase = z.infer<typeof ProductCategorySchema>;
879
+ /**
880
+ * Product category with descendants type.
881
+ * Used when querying categories with nested hierarchy.
882
+ */
883
+ export type ProductCategoryWithDescendants = ProductCategoryBase & {
884
+ /** Nested descendant categories */
885
+ descendants?: ProductCategoryWithDescendants[];
886
+ /** Flattened list of descendant category IDs */
887
+ descendantIds?: string[];
888
+ /** Total number of descendants */
889
+ descendantCount?: number;
890
+ };
891
+ /**
892
+ * Product category with descendants schema.
893
+ * Read model only. Use when ProductCategoryFilters.includeDescendants is true.
894
+ */
895
+ export declare const ProductCategoryWithDescendantsSchema: z.ZodType<ProductCategoryWithDescendants>;
896
+ export type AttributeDef = z.infer<typeof AttributeDefSchema>;
897
+ export type CreateAttributeDef = z.infer<typeof CreateAttributeDefSchema>;
898
+ export type UpdateAttributeDef = z.infer<typeof UpdateAttributeDefSchema>;
899
+ export type CategoryAttributeBinding = z.infer<typeof CategoryAttributeBindingSchema>;
900
+ export type ProductAttributeValue = z.infer<typeof ProductAttributeValueSchema>;
901
+ export type ProductCategoryChannelMapping = z.infer<typeof ProductCategoryChannelMappingSchema>;
902
+ export type ProductChannelMapping = z.infer<typeof ProductChannelMappingSchema>;
903
+ export type ProductCategory = z.infer<typeof ProductCategorySchema>;
904
+ export type CreateProductCategory = z.infer<typeof CreateProductCategorySchema>;
905
+ export type UpdateProductCategory = z.infer<typeof UpdateProductCategorySchema>;
906
+ export type BusinessProduct = z.infer<typeof BusinessProductSchema>;
907
+ export type CreateBusinessProduct = z.infer<typeof CreateBusinessProductSchema>;
908
+ export type UpdateBusinessProduct = z.infer<typeof UpdateBusinessProductSchema>;
909
+ export type ProductCatalog = z.infer<typeof ProductCatalogSchema>;
910
+ export type BusinessProductCatalog = z.infer<typeof BusinessProductCatalogSchema>;
911
+ /**
912
+ * Attribute definition filter options.
913
+ * @interface AttributeDefFilters
914
+ */
915
+ export interface AttributeDefFilters {
916
+ /** Text search across name/slug */
917
+ search?: string;
918
+ /** Filter by attribute type */
919
+ type?: AttributeDefType;
920
+ /** Filter by active status */
921
+ isActive?: boolean;
922
+ }
923
+ /**
924
+ * Attribute definition sorting options.
925
+ * @interface AttributeDefSorting
926
+ */
927
+ export interface AttributeDefSorting {
928
+ /** Field to sort by */
929
+ field: 'name' | 'slug' | 'createdAt';
930
+ /** Sort direction */
931
+ direction: 'asc' | 'desc';
932
+ }
933
+ /**
934
+ * Attribute definition query options.
935
+ * @interface AttributeDefQueryOptions
936
+ */
937
+ export interface AttributeDefQueryOptions {
938
+ /** Page number (1-indexed) */
939
+ page: number;
940
+ /** Items per page */
941
+ pageSize: number;
942
+ /** Optional filters */
943
+ filters?: AttributeDefFilters;
944
+ /** Optional sorting */
945
+ sorting?: AttributeDefSorting;
946
+ }
947
+ /**
948
+ * Product category filter options.
949
+ * @interface ProductCategoryFilters
950
+ */
951
+ export interface ProductCategoryFilters {
952
+ /** Text search across name/description */
953
+ search?: string;
954
+ /** Filter by parent category ID (null = root categories only) */
955
+ parentId?: string | null;
956
+ /** Whether to include descendant categories in search */
957
+ includeDescendants?: boolean;
958
+ /** Filter by location scope */
959
+ locationScope?: CategoryLocationScope;
960
+ /** Filter by age-restricted status */
961
+ ageRestricted?: boolean;
962
+ }
963
+ /**
964
+ * Product category sorting options.
965
+ * @interface ProductCategorySorting
966
+ */
967
+ export interface ProductCategorySorting {
968
+ /** Field to sort by */
969
+ field: 'name' | 'displayOrder' | 'createdAt';
970
+ /** Sort direction */
971
+ direction: 'asc' | 'desc';
972
+ }
973
+ /**
974
+ * Product category query options.
975
+ * @interface ProductCategoryQueryOptions
976
+ */
977
+ export interface ProductCategoryQueryOptions {
978
+ /** Page number (1-indexed) */
979
+ page: number;
980
+ /** Items per page */
981
+ pageSize: number;
982
+ /** Optional filters */
983
+ filters?: ProductCategoryFilters;
984
+ /** Optional sorting */
985
+ sorting?: ProductCategorySorting;
986
+ }
987
+ /**
988
+ * Business product filter options.
989
+ * @interface BusinessProductFilters
990
+ */
991
+ export interface BusinessProductFilters {
992
+ /** Text search across name/description */
993
+ search?: string;
994
+ /** Filter by location ID */
995
+ locationId?: string;
996
+ /** Filter by category ID */
997
+ categoryId?: string;
998
+ /** Filter by active status */
999
+ isActive?: boolean;
1000
+ /** Filter by brand name */
1001
+ brand?: string;
1002
+ /** Filter by brand ID */
1003
+ brandId?: string;
1004
+ /** Filter by inventory tracking status */
1005
+ trackInventory?: boolean;
1006
+ /** Filter by price range */
1007
+ priceRange?: {
1008
+ min?: number;
1009
+ max?: number;
1010
+ };
1011
+ /** Filter products at or below low stock threshold */
1012
+ lowStock?: boolean;
1013
+ /** Filter by alcoholic status */
1014
+ isAlcoholic?: boolean;
1015
+ /** Filter by tags */
1016
+ tags?: string[];
1017
+ }
1018
+ /**
1019
+ * Business product sorting options.
1020
+ * @interface BusinessProductSorting
1021
+ */
1022
+ export interface BusinessProductSorting {
1023
+ /** Field to sort by */
1024
+ field: 'name' | 'price' | 'createdAt' | 'displayOrder';
1025
+ /** Sort direction */
1026
+ direction: 'asc' | 'desc';
1027
+ }
1028
+ /**
1029
+ * Business product query options.
1030
+ * @interface BusinessProductQueryOptions
1031
+ */
1032
+ export interface BusinessProductQueryOptions {
1033
+ /** Page number (1-indexed) */
1034
+ page: number;
1035
+ /** Items per page */
1036
+ pageSize: number;
1037
+ /** Optional filters */
1038
+ filters?: BusinessProductFilters;
1039
+ /** Optional sorting */
1040
+ sorting?: BusinessProductSorting;
1041
+ }
1042
+ export {};