@wocart/storefront 0.0.0-stage → 1.1.0

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 (82) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +2 -0
  4. package/README.md +144 -2
  5. package/USAGE.md +1470 -0
  6. package/dist/abandoned-checkout.d.ts +22 -0
  7. package/dist/abandoned-checkout.js +89 -0
  8. package/dist/actions.d.ts +117 -0
  9. package/dist/actions.js +196 -0
  10. package/dist/astro.d.ts +6 -0
  11. package/dist/astro.js +3 -0
  12. package/dist/basket.d.ts +87 -0
  13. package/dist/basket.js +258 -0
  14. package/dist/client/cart.d.ts +30 -0
  15. package/dist/client/cart.js +26 -0
  16. package/dist/client/categories.d.ts +25 -0
  17. package/dist/client/categories.js +37 -0
  18. package/dist/client/config.d.ts +29 -0
  19. package/dist/client/config.js +41 -0
  20. package/dist/client/core.d.ts +88 -0
  21. package/dist/client/core.js +566 -0
  22. package/dist/client/errors.d.ts +19 -0
  23. package/dist/client/errors.js +31 -0
  24. package/dist/client/geo.d.ts +31 -0
  25. package/dist/client/geo.js +39 -0
  26. package/dist/client/index.d.ts +40 -0
  27. package/dist/client/index.js +81 -0
  28. package/dist/client/orders.d.ts +68 -0
  29. package/dist/client/orders.js +76 -0
  30. package/dist/client/page-data.d.ts +30 -0
  31. package/dist/client/page-data.js +36 -0
  32. package/dist/client/pages.d.ts +33 -0
  33. package/dist/client/pages.js +44 -0
  34. package/dist/client/paths.d.ts +8 -0
  35. package/dist/client/paths.js +10 -0
  36. package/dist/client/products.d.ts +56 -0
  37. package/dist/client/products.js +78 -0
  38. package/dist/client/shipping.d.ts +36 -0
  39. package/dist/client/shipping.js +47 -0
  40. package/dist/data/communes.d.ts +25 -0
  41. package/dist/data/communes.js +1690 -0
  42. package/dist/data/wilayas.d.ts +6 -0
  43. package/dist/data/wilayas.js +64 -0
  44. package/dist/domain.d.ts +341 -0
  45. package/dist/domain.js +214 -0
  46. package/dist/endpoints/proxy.d.ts +111 -0
  47. package/dist/endpoints/proxy.js +161 -0
  48. package/dist/index.d.ts +42 -0
  49. package/dist/index.js +30 -0
  50. package/dist/locale-routing.d.ts +59 -0
  51. package/dist/locale-routing.js +62 -0
  52. package/dist/locales.d.ts +15 -0
  53. package/dist/locales.js +8 -0
  54. package/dist/meta-tracking.d.ts +34 -0
  55. package/dist/meta-tracking.js +72 -0
  56. package/dist/middleware.d.ts +100 -0
  57. package/dist/middleware.js +72 -0
  58. package/dist/offer-view.d.ts +10 -0
  59. package/dist/offer-view.js +13 -0
  60. package/dist/otp.d.ts +80 -0
  61. package/dist/otp.js +295 -0
  62. package/dist/phone.d.ts +2 -0
  63. package/dist/phone.js +34 -0
  64. package/dist/product-view.d.ts +12 -0
  65. package/dist/product-view.js +42 -0
  66. package/dist/routes.d.ts +45 -0
  67. package/dist/routes.js +59 -0
  68. package/dist/schemas.d.ts +753 -0
  69. package/dist/schemas.js +377 -0
  70. package/dist/server.d.ts +4 -0
  71. package/dist/server.js +2 -0
  72. package/dist/types.d.ts +418 -0
  73. package/dist/types.js +1 -0
  74. package/dist/utils/image.d.ts +140 -0
  75. package/dist/utils/image.js +131 -0
  76. package/dist/utils/money.d.ts +39 -0
  77. package/dist/utils/money.js +43 -0
  78. package/dist/utils/product-image.d.ts +37 -0
  79. package/dist/utils/product-image.js +38 -0
  80. package/dist/whatsapp.d.ts +55 -0
  81. package/dist/whatsapp.js +89 -0
  82. package/package.json +76 -4
@@ -0,0 +1,753 @@
1
+ import { z } from "zod";
2
+ export declare const ProductImageSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ src: z.ZodString;
5
+ srcSm: z.ZodNullable<z.ZodString>;
6
+ srcMd: z.ZodNullable<z.ZodString>;
7
+ srcLg: z.ZodNullable<z.ZodString>;
8
+ altText: z.ZodNullable<z.ZodString>;
9
+ position: z.ZodNumber;
10
+ }, z.core.$strip>;
11
+ export declare const ProductVariantSchema: z.ZodObject<{
12
+ id: z.ZodString;
13
+ productId: z.ZodString;
14
+ variations: z.ZodRecord<z.ZodString, z.ZodString>;
15
+ currency: z.ZodString;
16
+ price: z.ZodNumber;
17
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
18
+ sku: z.ZodNullable<z.ZodString>;
19
+ barcode: z.ZodNullable<z.ZodString>;
20
+ inventory: z.ZodNumber;
21
+ lowStockThreshold: z.ZodNumber;
22
+ weightKg: z.ZodNullable<z.ZodNumber>;
23
+ imageId: z.ZodNullable<z.ZodString>;
24
+ isDefault: z.ZodBoolean;
25
+ active: z.ZodBoolean;
26
+ position: z.ZodNumber;
27
+ createdAt: z.ZodString;
28
+ updatedAt: z.ZodString;
29
+ }, z.core.$strip>;
30
+ export declare const OfferSchema: z.ZodObject<{
31
+ id: z.ZodString;
32
+ name: z.ZodString;
33
+ discountType: z.ZodEnum<{
34
+ free: "free";
35
+ free_shipping: "free_shipping";
36
+ }>;
37
+ triggerQuantity: z.ZodNumber;
38
+ triggerVariantId: z.ZodNullable<z.ZodString>;
39
+ rewardQuantity: z.ZodNumber;
40
+ rewardProductId: z.ZodNullable<z.ZodString>;
41
+ rewardProductName: z.ZodString;
42
+ rewardVariantId: z.ZodNullable<z.ZodString>;
43
+ rewardVariantLabel: z.ZodNullable<z.ZodString>;
44
+ }, z.core.$strip>;
45
+ export declare const CategorySchema: z.ZodObject<{
46
+ id: z.ZodString;
47
+ name: z.ZodString;
48
+ slug: z.ZodString;
49
+ description: z.ZodNullable<z.ZodString>;
50
+ parentId: z.ZodNullable<z.ZodString>;
51
+ imageUrl: z.ZodNullable<z.ZodString>;
52
+ metaTitle: z.ZodNullable<z.ZodString>;
53
+ metaDescription: z.ZodNullable<z.ZodString>;
54
+ metaKeywords: z.ZodNullable<z.ZodString>;
55
+ position: z.ZodNumber;
56
+ createdAt: z.ZodString;
57
+ updatedAt: z.ZodString;
58
+ }, z.core.$strip>;
59
+ export declare const ProductListSchema: z.ZodObject<{
60
+ id: z.ZodString;
61
+ name: z.ZodString;
62
+ description: z.ZodNullable<z.ZodString>;
63
+ descriptionFormat: z.ZodEnum<{
64
+ html: "html";
65
+ text: "text";
66
+ }>;
67
+ descriptionPlain: z.ZodNullable<z.ZodString>;
68
+ handle: z.ZodString;
69
+ currency: z.ZodString;
70
+ price: z.ZodNumber;
71
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
72
+ costPrice: z.ZodNullable<z.ZodNumber>;
73
+ type: z.ZodEnum<{
74
+ DIGITAL: "DIGITAL";
75
+ PHYSICAL: "PHYSICAL";
76
+ }>;
77
+ hasVariants: z.ZodBoolean;
78
+ sku: z.ZodNullable<z.ZodString>;
79
+ inventory: z.ZodNumber;
80
+ trackInventory: z.ZodBoolean;
81
+ lowStockThreshold: z.ZodNumber;
82
+ categoryId: z.ZodNullable<z.ZodString>;
83
+ visibility: z.ZodBoolean;
84
+ status: z.ZodEnum<{
85
+ ACTIVE: "ACTIVE";
86
+ ARCHIVED: "ARCHIVED";
87
+ DRAFT: "DRAFT";
88
+ }>;
89
+ showInStore: z.ZodBoolean;
90
+ storeFeatured: z.ZodBoolean;
91
+ deletedAt: z.ZodNullable<z.ZodString>;
92
+ publishedAt: z.ZodNullable<z.ZodString>;
93
+ createdAt: z.ZodString;
94
+ updatedAt: z.ZodString;
95
+ shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
+ variantOptions: z.ZodNullable<z.ZodString>;
97
+ tags: z.ZodNullable<z.ZodString>;
98
+ coverImage: z.ZodNullable<z.ZodObject<{
99
+ id: z.ZodString;
100
+ src: z.ZodString;
101
+ srcSm: z.ZodNullable<z.ZodString>;
102
+ srcMd: z.ZodNullable<z.ZodString>;
103
+ srcLg: z.ZodNullable<z.ZodString>;
104
+ altText: z.ZodNullable<z.ZodString>;
105
+ position: z.ZodNumber;
106
+ }, z.core.$strip>>;
107
+ reviewStats: z.ZodNullable<z.ZodObject<{
108
+ avgRating: z.ZodNumber;
109
+ reviewCount: z.ZodNumber;
110
+ }, z.core.$strip>>;
111
+ }, z.core.$strip>;
112
+ export declare const ProductSchema: z.ZodObject<{
113
+ id: z.ZodString;
114
+ name: z.ZodString;
115
+ description: z.ZodNullable<z.ZodString>;
116
+ descriptionFormat: z.ZodEnum<{
117
+ html: "html";
118
+ text: "text";
119
+ }>;
120
+ descriptionPlain: z.ZodNullable<z.ZodString>;
121
+ handle: z.ZodString;
122
+ currency: z.ZodString;
123
+ price: z.ZodNumber;
124
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
125
+ costPrice: z.ZodNullable<z.ZodNumber>;
126
+ type: z.ZodEnum<{
127
+ DIGITAL: "DIGITAL";
128
+ PHYSICAL: "PHYSICAL";
129
+ }>;
130
+ hasVariants: z.ZodBoolean;
131
+ sku: z.ZodNullable<z.ZodString>;
132
+ inventory: z.ZodNumber;
133
+ trackInventory: z.ZodBoolean;
134
+ lowStockThreshold: z.ZodNumber;
135
+ categoryId: z.ZodNullable<z.ZodString>;
136
+ visibility: z.ZodBoolean;
137
+ status: z.ZodEnum<{
138
+ ACTIVE: "ACTIVE";
139
+ ARCHIVED: "ARCHIVED";
140
+ DRAFT: "DRAFT";
141
+ }>;
142
+ showInStore: z.ZodBoolean;
143
+ storeFeatured: z.ZodBoolean;
144
+ deletedAt: z.ZodNullable<z.ZodString>;
145
+ publishedAt: z.ZodNullable<z.ZodString>;
146
+ createdAt: z.ZodString;
147
+ updatedAt: z.ZodString;
148
+ shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
149
+ variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
150
+ name: z.ZodString;
151
+ values: z.ZodArray<z.ZodObject<{
152
+ value: z.ZodString;
153
+ hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
154
+ }, z.core.$strip>>;
155
+ }, z.core.$strip>>>;
156
+ tags: z.ZodArray<z.ZodString>;
157
+ category: z.ZodNullable<z.ZodObject<{
158
+ id: z.ZodString;
159
+ name: z.ZodString;
160
+ slug: z.ZodString;
161
+ description: z.ZodNullable<z.ZodString>;
162
+ parentId: z.ZodNullable<z.ZodString>;
163
+ imageUrl: z.ZodNullable<z.ZodString>;
164
+ metaTitle: z.ZodNullable<z.ZodString>;
165
+ metaDescription: z.ZodNullable<z.ZodString>;
166
+ metaKeywords: z.ZodNullable<z.ZodString>;
167
+ position: z.ZodNumber;
168
+ createdAt: z.ZodString;
169
+ updatedAt: z.ZodString;
170
+ }, z.core.$strip>>;
171
+ variants: z.ZodArray<z.ZodObject<{
172
+ id: z.ZodString;
173
+ productId: z.ZodString;
174
+ variations: z.ZodRecord<z.ZodString, z.ZodString>;
175
+ currency: z.ZodString;
176
+ price: z.ZodNumber;
177
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
178
+ sku: z.ZodNullable<z.ZodString>;
179
+ barcode: z.ZodNullable<z.ZodString>;
180
+ inventory: z.ZodNumber;
181
+ lowStockThreshold: z.ZodNumber;
182
+ weightKg: z.ZodNullable<z.ZodNumber>;
183
+ imageId: z.ZodNullable<z.ZodString>;
184
+ isDefault: z.ZodBoolean;
185
+ active: z.ZodBoolean;
186
+ position: z.ZodNumber;
187
+ createdAt: z.ZodString;
188
+ updatedAt: z.ZodString;
189
+ }, z.core.$strip>>;
190
+ images: z.ZodArray<z.ZodObject<{
191
+ id: z.ZodString;
192
+ src: z.ZodString;
193
+ srcSm: z.ZodNullable<z.ZodString>;
194
+ srcMd: z.ZodNullable<z.ZodString>;
195
+ srcLg: z.ZodNullable<z.ZodString>;
196
+ altText: z.ZodNullable<z.ZodString>;
197
+ position: z.ZodNumber;
198
+ }, z.core.$strip>>;
199
+ reviewStats: z.ZodNullable<z.ZodObject<{
200
+ avgRating: z.ZodNumber;
201
+ reviewCount: z.ZodNumber;
202
+ }, z.core.$strip>>;
203
+ offers: z.ZodArray<z.ZodObject<{
204
+ id: z.ZodString;
205
+ name: z.ZodString;
206
+ discountType: z.ZodEnum<{
207
+ free: "free";
208
+ free_shipping: "free_shipping";
209
+ }>;
210
+ triggerQuantity: z.ZodNumber;
211
+ triggerVariantId: z.ZodNullable<z.ZodString>;
212
+ rewardQuantity: z.ZodNumber;
213
+ rewardProductId: z.ZodNullable<z.ZodString>;
214
+ rewardProductName: z.ZodString;
215
+ rewardVariantId: z.ZodNullable<z.ZodString>;
216
+ rewardVariantLabel: z.ZodNullable<z.ZodString>;
217
+ }, z.core.$strip>>;
218
+ }, z.core.$strip>;
219
+ export declare const StorePagePublicSchema: z.ZodObject<{
220
+ id: z.ZodString;
221
+ kind: z.ZodEnum<{
222
+ custom: "custom";
223
+ privacy: "privacy";
224
+ refund: "refund";
225
+ shipping: "shipping";
226
+ terms: "terms";
227
+ }>;
228
+ slug: z.ZodString;
229
+ locale: z.ZodString;
230
+ title: z.ZodString;
231
+ bodyHtml: z.ZodString;
232
+ metaTitle: z.ZodNullable<z.ZodString>;
233
+ metaDescription: z.ZodNullable<z.ZodString>;
234
+ }, z.core.$strip>;
235
+ /**
236
+ * The persisted theme page document (PageData): the
237
+ * TRANSPORT shape only. `sections` stays `unknown[]` so instances of a newer
238
+ * document reach the theme verbatim; the theme SDK's `parsePageData` owns the
239
+ * semantics (version, component types, props).
240
+ *
241
+ * **Loose on purpose**: unknown top-level keys must
242
+ * survive the transport, or a document's metadata would be destroyed before the
243
+ * theme SDK ever sees it.
244
+ */
245
+ export declare const PageDocumentPayloadSchema: z.ZodObject<{
246
+ version: z.ZodNumber;
247
+ surface: z.ZodString;
248
+ sections: z.ZodArray<z.ZodUnknown>;
249
+ }, z.core.$loose>;
250
+ export declare const StorePageLinkSchema: z.ZodObject<{
251
+ id: z.ZodString;
252
+ kind: z.ZodEnum<{
253
+ custom: "custom";
254
+ privacy: "privacy";
255
+ refund: "refund";
256
+ shipping: "shipping";
257
+ terms: "terms";
258
+ }>;
259
+ slug: z.ZodString;
260
+ title: z.ZodString;
261
+ position: z.ZodNumber;
262
+ }, z.core.$strip>;
263
+ export declare const StoreLegalContactSchema: z.ZodObject<{
264
+ contactEmail: z.ZodNullable<z.ZodString>;
265
+ contactPhone: z.ZodNullable<z.ZodString>;
266
+ deliveryMinDays: z.ZodNumber;
267
+ deliveryMaxDays: z.ZodNumber;
268
+ }, z.core.$strip>;
269
+ export declare const StoreWhatsAppWidgetSchema: z.ZodObject<{
270
+ href: z.ZodString;
271
+ agentName: z.ZodNullable<z.ZodString>;
272
+ caption: z.ZodNullable<z.ZodString>;
273
+ avatarUrl: z.ZodNullable<z.ZodString>;
274
+ welcomeMessage: z.ZodNullable<z.ZodString>;
275
+ launcherLabel: z.ZodNullable<z.ZodString>;
276
+ ctaLabel: z.ZodNullable<z.ZodString>;
277
+ prefillGeneral: z.ZodNullable<z.ZodString>;
278
+ prefillProduct: z.ZodNullable<z.ZodString>;
279
+ thankYouButtonLabel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
280
+ prefillThankYou: z.ZodDefault<z.ZodNullable<z.ZodString>>;
281
+ accent: z.ZodEnum<{
282
+ primary: "primary";
283
+ whatsapp: "whatsapp";
284
+ }>;
285
+ position: z.ZodEnum<{
286
+ left: "left";
287
+ right: "right";
288
+ }>;
289
+ attention: z.ZodBoolean;
290
+ surfaces: z.ZodObject<{
291
+ home: z.ZodBoolean;
292
+ catalog: z.ZodBoolean;
293
+ product: z.ZodBoolean;
294
+ pages: z.ZodBoolean;
295
+ thankYou: z.ZodBoolean;
296
+ checkout: z.ZodBoolean;
297
+ landing: z.ZodBoolean;
298
+ }, z.core.$strip>;
299
+ }, z.core.$strip>;
300
+ export declare const CheckoutFormCustomFieldSchema: z.ZodObject<{
301
+ id: z.ZodString;
302
+ label: z.ZodString;
303
+ type: z.ZodEnum<{
304
+ number: "number";
305
+ select: "select";
306
+ text: "text";
307
+ textarea: "textarea";
308
+ }>;
309
+ required: z.ZodBoolean;
310
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ }, z.core.$strip>;
312
+ export declare const CheckoutFormPolicySchema: z.ZodObject<{
313
+ address: z.ZodEnum<{
314
+ hidden: "hidden";
315
+ optional: "optional";
316
+ required: "required";
317
+ }>;
318
+ notes: z.ZodEnum<{
319
+ hidden: "hidden";
320
+ optional: "optional";
321
+ }>;
322
+ email: z.ZodEnum<{
323
+ hidden: "hidden";
324
+ optional: "optional";
325
+ required: "required";
326
+ }>;
327
+ deliveryOptions: z.ZodObject<{
328
+ home: z.ZodBoolean;
329
+ stopDesk: z.ZodBoolean;
330
+ }, z.core.$strip>;
331
+ customFields: z.ZodArray<z.ZodObject<{
332
+ id: z.ZodString;
333
+ label: z.ZodString;
334
+ type: z.ZodEnum<{
335
+ number: "number";
336
+ select: "select";
337
+ text: "text";
338
+ textarea: "textarea";
339
+ }>;
340
+ required: z.ZodBoolean;
341
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
342
+ }, z.core.$strip>>;
343
+ }, z.core.$strip>;
344
+ export declare const StorefrontLanguageSchema: z.ZodObject<{
345
+ code: z.ZodString;
346
+ nativeName: z.ZodString;
347
+ direction: z.ZodEnum<{
348
+ ltr: "ltr";
349
+ rtl: "rtl";
350
+ }>;
351
+ }, z.core.$strip>;
352
+ export declare const StoreConfigSchema: z.ZodObject<{
353
+ id: z.ZodString;
354
+ name: z.ZodString;
355
+ domain: z.ZodNullable<z.ZodString>;
356
+ logoUrl: z.ZodNullable<z.ZodString>;
357
+ themeId: z.ZodString;
358
+ primaryColor: z.ZodString;
359
+ accentColor: z.ZodString;
360
+ bgColor: z.ZodString;
361
+ fontFamily: z.ZodString;
362
+ fontUrl: z.ZodNullable<z.ZodString>;
363
+ lang: z.ZodString;
364
+ locale: z.ZodString;
365
+ locales: z.ZodArray<z.ZodObject<{
366
+ code: z.ZodString;
367
+ nativeName: z.ZodString;
368
+ direction: z.ZodEnum<{
369
+ ltr: "ltr";
370
+ rtl: "rtl";
371
+ }>;
372
+ }, z.core.$strip>>;
373
+ contentOverrides: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
374
+ currency: z.ZodString;
375
+ currencySymbol: z.ZodString;
376
+ metaTitle: z.ZodNullable<z.ZodString>;
377
+ metaDescription: z.ZodNullable<z.ZodString>;
378
+ ogImage: z.ZodNullable<z.ZodString>;
379
+ announcementBar: z.ZodNullable<z.ZodString>;
380
+ reviewsEnabled: z.ZodBoolean;
381
+ cartEnabled: z.ZodBoolean;
382
+ freeShippingThreshold: z.ZodNullable<z.ZodNumber>;
383
+ cartShippingMode: z.ZodDefault<z.ZodEnum<{
384
+ default_profile: "default_profile";
385
+ highest: "highest";
386
+ }>>;
387
+ otpEnabled: z.ZodBoolean;
388
+ turnstileEnabled: z.ZodBoolean;
389
+ turnstileSiteKey: z.ZodNullable<z.ZodString>;
390
+ status: z.ZodEnum<{
391
+ active: "active";
392
+ inactive: "inactive";
393
+ }>;
394
+ createdAt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
395
+ updatedAt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
396
+ checkoutForm: z.ZodDefault<z.ZodObject<{
397
+ address: z.ZodEnum<{
398
+ hidden: "hidden";
399
+ optional: "optional";
400
+ required: "required";
401
+ }>;
402
+ notes: z.ZodEnum<{
403
+ hidden: "hidden";
404
+ optional: "optional";
405
+ }>;
406
+ email: z.ZodEnum<{
407
+ hidden: "hidden";
408
+ optional: "optional";
409
+ required: "required";
410
+ }>;
411
+ deliveryOptions: z.ZodObject<{
412
+ home: z.ZodBoolean;
413
+ stopDesk: z.ZodBoolean;
414
+ }, z.core.$strip>;
415
+ customFields: z.ZodArray<z.ZodObject<{
416
+ id: z.ZodString;
417
+ label: z.ZodString;
418
+ type: z.ZodEnum<{
419
+ number: "number";
420
+ select: "select";
421
+ text: "text";
422
+ textarea: "textarea";
423
+ }>;
424
+ required: z.ZodBoolean;
425
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
426
+ }, z.core.$strip>>;
427
+ }, z.core.$strip>>;
428
+ pixelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
429
+ conversionEvent: z.ZodDefault<z.ZodEnum<{
430
+ Lead: "Lead";
431
+ Purchase: "Purchase";
432
+ Purchase_Confirmed: "Purchase_Confirmed";
433
+ Purchase_Delivered: "Purchase_Delivered";
434
+ }>>;
435
+ pages: z.ZodDefault<z.ZodArray<z.ZodObject<{
436
+ id: z.ZodString;
437
+ kind: z.ZodEnum<{
438
+ custom: "custom";
439
+ privacy: "privacy";
440
+ refund: "refund";
441
+ shipping: "shipping";
442
+ terms: "terms";
443
+ }>;
444
+ slug: z.ZodString;
445
+ title: z.ZodString;
446
+ position: z.ZodNumber;
447
+ }, z.core.$strip>>>;
448
+ legalContact: z.ZodDefault<z.ZodNullable<z.ZodObject<{
449
+ contactEmail: z.ZodNullable<z.ZodString>;
450
+ contactPhone: z.ZodNullable<z.ZodString>;
451
+ deliveryMinDays: z.ZodNumber;
452
+ deliveryMaxDays: z.ZodNumber;
453
+ }, z.core.$strip>>>;
454
+ whatsapp: z.ZodDefault<z.ZodNullable<z.ZodObject<{
455
+ href: z.ZodString;
456
+ agentName: z.ZodNullable<z.ZodString>;
457
+ caption: z.ZodNullable<z.ZodString>;
458
+ avatarUrl: z.ZodNullable<z.ZodString>;
459
+ welcomeMessage: z.ZodNullable<z.ZodString>;
460
+ launcherLabel: z.ZodNullable<z.ZodString>;
461
+ ctaLabel: z.ZodNullable<z.ZodString>;
462
+ prefillGeneral: z.ZodNullable<z.ZodString>;
463
+ prefillProduct: z.ZodNullable<z.ZodString>;
464
+ thankYouButtonLabel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
465
+ prefillThankYou: z.ZodDefault<z.ZodNullable<z.ZodString>>;
466
+ accent: z.ZodEnum<{
467
+ primary: "primary";
468
+ whatsapp: "whatsapp";
469
+ }>;
470
+ position: z.ZodEnum<{
471
+ left: "left";
472
+ right: "right";
473
+ }>;
474
+ attention: z.ZodBoolean;
475
+ surfaces: z.ZodObject<{
476
+ home: z.ZodBoolean;
477
+ catalog: z.ZodBoolean;
478
+ product: z.ZodBoolean;
479
+ pages: z.ZodBoolean;
480
+ thankYou: z.ZodBoolean;
481
+ checkout: z.ZodBoolean;
482
+ landing: z.ZodBoolean;
483
+ }, z.core.$strip>;
484
+ }, z.core.$strip>>>;
485
+ }, z.core.$strip>;
486
+ export declare const LandingPageImageSchema: z.ZodObject<{
487
+ id: z.ZodString;
488
+ src: z.ZodString;
489
+ altText: z.ZodNullable<z.ZodString>;
490
+ position: z.ZodNumber;
491
+ width: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
492
+ height: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
493
+ }, z.core.$strip>;
494
+ export declare const LandingPageSchema: z.ZodObject<{
495
+ id: z.ZodString;
496
+ slug: z.ZodString;
497
+ name: z.ZodString;
498
+ status: z.ZodEnum<{
499
+ archived: "archived";
500
+ draft: "draft";
501
+ published: "published";
502
+ }>;
503
+ imageGap: z.ZodNumber;
504
+ metaTitle: z.ZodNullable<z.ZodString>;
505
+ metaDescription: z.ZodNullable<z.ZodString>;
506
+ publishedAt: z.ZodNullable<z.ZodString>;
507
+ images: z.ZodArray<z.ZodObject<{
508
+ id: z.ZodString;
509
+ src: z.ZodString;
510
+ altText: z.ZodNullable<z.ZodString>;
511
+ position: z.ZodNumber;
512
+ width: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
513
+ height: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
514
+ }, z.core.$strip>>;
515
+ product: z.ZodNullable<z.ZodObject<{
516
+ id: z.ZodString;
517
+ name: z.ZodString;
518
+ description: z.ZodNullable<z.ZodString>;
519
+ descriptionFormat: z.ZodEnum<{
520
+ html: "html";
521
+ text: "text";
522
+ }>;
523
+ descriptionPlain: z.ZodNullable<z.ZodString>;
524
+ handle: z.ZodString;
525
+ currency: z.ZodString;
526
+ price: z.ZodNumber;
527
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
528
+ costPrice: z.ZodNullable<z.ZodNumber>;
529
+ type: z.ZodEnum<{
530
+ DIGITAL: "DIGITAL";
531
+ PHYSICAL: "PHYSICAL";
532
+ }>;
533
+ hasVariants: z.ZodBoolean;
534
+ sku: z.ZodNullable<z.ZodString>;
535
+ inventory: z.ZodNumber;
536
+ trackInventory: z.ZodBoolean;
537
+ lowStockThreshold: z.ZodNumber;
538
+ categoryId: z.ZodNullable<z.ZodString>;
539
+ visibility: z.ZodBoolean;
540
+ status: z.ZodEnum<{
541
+ ACTIVE: "ACTIVE";
542
+ ARCHIVED: "ARCHIVED";
543
+ DRAFT: "DRAFT";
544
+ }>;
545
+ showInStore: z.ZodBoolean;
546
+ storeFeatured: z.ZodBoolean;
547
+ deletedAt: z.ZodNullable<z.ZodString>;
548
+ publishedAt: z.ZodNullable<z.ZodString>;
549
+ createdAt: z.ZodString;
550
+ updatedAt: z.ZodString;
551
+ shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
552
+ variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
553
+ name: z.ZodString;
554
+ values: z.ZodArray<z.ZodObject<{
555
+ value: z.ZodString;
556
+ hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
557
+ }, z.core.$strip>>;
558
+ }, z.core.$strip>>>;
559
+ tags: z.ZodArray<z.ZodString>;
560
+ category: z.ZodNullable<z.ZodObject<{
561
+ id: z.ZodString;
562
+ name: z.ZodString;
563
+ slug: z.ZodString;
564
+ description: z.ZodNullable<z.ZodString>;
565
+ parentId: z.ZodNullable<z.ZodString>;
566
+ imageUrl: z.ZodNullable<z.ZodString>;
567
+ metaTitle: z.ZodNullable<z.ZodString>;
568
+ metaDescription: z.ZodNullable<z.ZodString>;
569
+ metaKeywords: z.ZodNullable<z.ZodString>;
570
+ position: z.ZodNumber;
571
+ createdAt: z.ZodString;
572
+ updatedAt: z.ZodString;
573
+ }, z.core.$strip>>;
574
+ variants: z.ZodArray<z.ZodObject<{
575
+ id: z.ZodString;
576
+ productId: z.ZodString;
577
+ variations: z.ZodRecord<z.ZodString, z.ZodString>;
578
+ currency: z.ZodString;
579
+ price: z.ZodNumber;
580
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
581
+ sku: z.ZodNullable<z.ZodString>;
582
+ barcode: z.ZodNullable<z.ZodString>;
583
+ inventory: z.ZodNumber;
584
+ lowStockThreshold: z.ZodNumber;
585
+ weightKg: z.ZodNullable<z.ZodNumber>;
586
+ imageId: z.ZodNullable<z.ZodString>;
587
+ isDefault: z.ZodBoolean;
588
+ active: z.ZodBoolean;
589
+ position: z.ZodNumber;
590
+ createdAt: z.ZodString;
591
+ updatedAt: z.ZodString;
592
+ }, z.core.$strip>>;
593
+ images: z.ZodArray<z.ZodObject<{
594
+ id: z.ZodString;
595
+ src: z.ZodString;
596
+ srcSm: z.ZodNullable<z.ZodString>;
597
+ srcMd: z.ZodNullable<z.ZodString>;
598
+ srcLg: z.ZodNullable<z.ZodString>;
599
+ altText: z.ZodNullable<z.ZodString>;
600
+ position: z.ZodNumber;
601
+ }, z.core.$strip>>;
602
+ reviewStats: z.ZodNullable<z.ZodObject<{
603
+ avgRating: z.ZodNumber;
604
+ reviewCount: z.ZodNumber;
605
+ }, z.core.$strip>>;
606
+ offers: z.ZodArray<z.ZodObject<{
607
+ id: z.ZodString;
608
+ name: z.ZodString;
609
+ discountType: z.ZodEnum<{
610
+ free: "free";
611
+ free_shipping: "free_shipping";
612
+ }>;
613
+ triggerQuantity: z.ZodNumber;
614
+ triggerVariantId: z.ZodNullable<z.ZodString>;
615
+ rewardQuantity: z.ZodNumber;
616
+ rewardProductId: z.ZodNullable<z.ZodString>;
617
+ rewardProductName: z.ZodString;
618
+ rewardVariantId: z.ZodNullable<z.ZodString>;
619
+ rewardVariantLabel: z.ZodNullable<z.ZodString>;
620
+ }, z.core.$strip>>;
621
+ }, z.core.$strip>>;
622
+ tracking: z.ZodObject<{
623
+ pixelId: z.ZodNullable<z.ZodString>;
624
+ conversionEvent: z.ZodEnum<{
625
+ Lead: "Lead";
626
+ Purchase: "Purchase";
627
+ Purchase_Confirmed: "Purchase_Confirmed";
628
+ Purchase_Delivered: "Purchase_Delivered";
629
+ }>;
630
+ }, z.core.$strip>;
631
+ }, z.core.$strip>;
632
+ export declare const WilayaRatesSchema: z.ZodObject<{
633
+ home: z.ZodNumber;
634
+ stopDesk: z.ZodNumber;
635
+ }, z.core.$strip>;
636
+ export declare const ShippingRatesSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
637
+ home: z.ZodNumber;
638
+ stopDesk: z.ZodNumber;
639
+ }, z.core.$strip>>;
640
+ export declare const CommuneSchema: z.ZodObject<{
641
+ id: z.ZodString;
642
+ name: z.ZodString;
643
+ nameAr: z.ZodString;
644
+ }, z.core.$strip>;
645
+ export declare const CartValidationLineSchema: z.ZodObject<{
646
+ productId: z.ZodString;
647
+ variantId: z.ZodNullable<z.ZodString>;
648
+ variantLabel: z.ZodNullable<z.ZodString>;
649
+ productName: z.ZodString;
650
+ quantity: z.ZodNumber;
651
+ unitPrice: z.ZodNumber;
652
+ lineTotal: z.ZodNumber;
653
+ maxQuantity: z.ZodNullable<z.ZodNumber>;
654
+ blocker: z.ZodNullable<z.ZodEnum<{
655
+ missing: "missing";
656
+ out_of_stock: "out_of_stock";
657
+ unlisted: "unlisted";
658
+ }>>;
659
+ }, z.core.$strip>;
660
+ export declare const CartRewardSchema: z.ZodObject<{
661
+ offerId: z.ZodString;
662
+ productId: z.ZodNullable<z.ZodString>;
663
+ productName: z.ZodNullable<z.ZodString>;
664
+ quantity: z.ZodNumber;
665
+ }, z.core.$strip>;
666
+ export declare const CartValidationSchema: z.ZodObject<{
667
+ lines: z.ZodArray<z.ZodObject<{
668
+ productId: z.ZodString;
669
+ variantId: z.ZodNullable<z.ZodString>;
670
+ variantLabel: z.ZodNullable<z.ZodString>;
671
+ productName: z.ZodString;
672
+ quantity: z.ZodNumber;
673
+ unitPrice: z.ZodNumber;
674
+ lineTotal: z.ZodNumber;
675
+ maxQuantity: z.ZodNullable<z.ZodNumber>;
676
+ blocker: z.ZodNullable<z.ZodEnum<{
677
+ missing: "missing";
678
+ out_of_stock: "out_of_stock";
679
+ unlisted: "unlisted";
680
+ }>>;
681
+ }, z.core.$strip>>;
682
+ subtotal: z.ZodNumber;
683
+ rewards: z.ZodArray<z.ZodObject<{
684
+ offerId: z.ZodString;
685
+ productId: z.ZodNullable<z.ZodString>;
686
+ productName: z.ZodNullable<z.ZodString>;
687
+ quantity: z.ZodNumber;
688
+ }, z.core.$strip>>;
689
+ freeDelivery: z.ZodObject<{
690
+ fromOffer: z.ZodBoolean;
691
+ threshold: z.ZodNullable<z.ZodNumber>;
692
+ qualified: z.ZodBoolean;
693
+ remaining: z.ZodNumber;
694
+ }, z.core.$strip>;
695
+ }, z.core.$strip>;
696
+ export declare const CreatedOrderSchema: z.ZodObject<{
697
+ orderId: z.ZodString;
698
+ orderNumber: z.ZodString;
699
+ price: z.ZodNumber;
700
+ deliveryFee: z.ZodNumber;
701
+ total: z.ZodNumber;
702
+ }, z.core.$strip>;
703
+ export declare const OrderTrackingSchema: z.ZodObject<{
704
+ pixelId: z.ZodNullable<z.ZodString>;
705
+ event: z.ZodNullable<z.ZodEnum<{
706
+ Lead: "Lead";
707
+ Purchase: "Purchase";
708
+ }>>;
709
+ }, z.core.$strip>;
710
+ /**
711
+ * The `{ id }` success payload of the write endpoints that only mint a row:
712
+ * POST /store/reviews and POST /store/abandoned.
713
+ */
714
+ export declare const IdResponseSchema: z.ZodObject<{
715
+ id: z.ZodString;
716
+ }, z.core.$strip>;
717
+ export declare const OtpSendResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
718
+ status: z.ZodLiteral<"sent">;
719
+ requestId: z.ZodString;
720
+ expiresAt: z.ZodNumber;
721
+ maxAttempts: z.ZodNumber;
722
+ }, z.core.$strip>, z.ZodObject<{
723
+ status: z.ZodLiteral<"unavailable">;
724
+ reason: z.ZodString;
725
+ bypassToken: z.ZodString;
726
+ }, z.core.$strip>], "status">;
727
+ export declare const OtpVerifyResultSchema: z.ZodObject<{
728
+ status: z.ZodLiteral<"verified">;
729
+ otpToken: z.ZodString;
730
+ }, z.core.$strip>;
731
+ export declare const ReviewSchema: z.ZodPreprocess<z.ZodObject<{
732
+ id: z.ZodString;
733
+ customerName: z.ZodString;
734
+ rating: z.ZodNumber;
735
+ title: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
736
+ body: z.ZodString;
737
+ createdAt: z.ZodString;
738
+ }, z.core.$strip>, unknown>;
739
+ /**
740
+ * GET /store/reviews answers `{ success, data: rows, count, total }` — the
741
+ * total lives OUTSIDE `data`, so a caller that reads only `data` loses it.
742
+ */
743
+ export declare const ReviewListEnvelopeSchema: z.ZodObject<{
744
+ data: z.ZodArray<z.ZodPreprocess<z.ZodObject<{
745
+ id: z.ZodString;
746
+ customerName: z.ZodString;
747
+ rating: z.ZodNumber;
748
+ title: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
749
+ body: z.ZodString;
750
+ createdAt: z.ZodString;
751
+ }, z.core.$strip>, unknown>>;
752
+ total: z.ZodNumber;
753
+ }, z.core.$strip>;