@ecomiq/core 0.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 (68) hide show
  1. package/README.md +42 -0
  2. package/dist/api.cjs +99 -0
  3. package/dist/api.cjs.map +1 -0
  4. package/dist/api.d.cts +52 -0
  5. package/dist/api.d.ts +52 -0
  6. package/dist/api.js +93 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/client.cjs +1344 -0
  9. package/dist/client.cjs.map +1 -0
  10. package/dist/client.d.cts +82 -0
  11. package/dist/client.d.ts +82 -0
  12. package/dist/client.js +1341 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/index.cjs +1611 -0
  15. package/dist/index.cjs.map +1 -0
  16. package/dist/index.d.cts +1109 -0
  17. package/dist/index.d.ts +1109 -0
  18. package/dist/index.js +1450 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/models/collections.cjs +20 -0
  21. package/dist/models/collections.cjs.map +1 -0
  22. package/dist/models/collections.d.cts +56 -0
  23. package/dist/models/collections.d.ts +56 -0
  24. package/dist/models/collections.js +17 -0
  25. package/dist/models/collections.js.map +1 -0
  26. package/dist/models/geo.cjs +62 -0
  27. package/dist/models/geo.cjs.map +1 -0
  28. package/dist/models/geo.d.cts +279 -0
  29. package/dist/models/geo.d.ts +279 -0
  30. package/dist/models/geo.js +48 -0
  31. package/dist/models/geo.js.map +1 -0
  32. package/dist/models/products.cjs +212 -0
  33. package/dist/models/products.cjs.map +1 -0
  34. package/dist/models/products.d.cts +1421 -0
  35. package/dist/models/products.d.ts +1421 -0
  36. package/dist/models/products.js +187 -0
  37. package/dist/models/products.js.map +1 -0
  38. package/dist/models/search.cjs +200 -0
  39. package/dist/models/search.cjs.map +1 -0
  40. package/dist/models/search.d.cts +51 -0
  41. package/dist/models/search.d.ts +51 -0
  42. package/dist/models/search.js +196 -0
  43. package/dist/models/search.js.map +1 -0
  44. package/dist/models/settings.cjs +285 -0
  45. package/dist/models/settings.cjs.map +1 -0
  46. package/dist/models/settings.d.cts +7039 -0
  47. package/dist/models/settings.d.ts +7039 -0
  48. package/dist/models/settings.js +239 -0
  49. package/dist/models/settings.js.map +1 -0
  50. package/dist/models/storefront-cart.cjs +148 -0
  51. package/dist/models/storefront-cart.cjs.map +1 -0
  52. package/dist/models/storefront-cart.d.cts +747 -0
  53. package/dist/models/storefront-cart.d.ts +747 -0
  54. package/dist/models/storefront-cart.js +133 -0
  55. package/dist/models/storefront-cart.js.map +1 -0
  56. package/dist/models/storefront-checkout.cjs +307 -0
  57. package/dist/models/storefront-checkout.cjs.map +1 -0
  58. package/dist/models/storefront-checkout.d.cts +4122 -0
  59. package/dist/models/storefront-checkout.d.ts +4122 -0
  60. package/dist/models/storefront-checkout.js +288 -0
  61. package/dist/models/storefront-checkout.js.map +1 -0
  62. package/dist/models/storefront-reviews.cjs +223 -0
  63. package/dist/models/storefront-reviews.cjs.map +1 -0
  64. package/dist/models/storefront-reviews.d.cts +147 -0
  65. package/dist/models/storefront-reviews.d.ts +147 -0
  66. package/dist/models/storefront-reviews.js +218 -0
  67. package/dist/models/storefront-reviews.js.map +1 -0
  68. package/package.json +109 -0
@@ -0,0 +1,1421 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const ProductPublicIdSchema: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
4
+ declare const ProductSummarySchema: z.ZodObject<{
5
+ id: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
6
+ name: z.ZodString;
7
+ slug: z.ZodString;
8
+ productType: z.ZodString;
9
+ imageUrl: z.ZodString;
10
+ price: z.ZodNumber;
11
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
12
+ variantCount: z.ZodNumber;
13
+ isAvailable: z.ZodBoolean;
14
+ totalInventory: z.ZodNumber;
15
+ bundleItemsCount: z.ZodNumber;
16
+ brand: z.ZodString;
17
+ category: z.ZodString;
18
+ status: z.ZodString;
19
+ collections: z.ZodArray<z.ZodString, "many">;
20
+ tags: z.ZodArray<z.ZodString, "many">;
21
+ }, "strip", z.ZodTypeAny, {
22
+ status: string;
23
+ id: string;
24
+ slug: string;
25
+ name: string;
26
+ imageUrl: string;
27
+ productType: string;
28
+ price: number;
29
+ compareAtPrice: number | null;
30
+ variantCount: number;
31
+ isAvailable: boolean;
32
+ totalInventory: number;
33
+ bundleItemsCount: number;
34
+ brand: string;
35
+ category: string;
36
+ collections: string[];
37
+ tags: string[];
38
+ }, {
39
+ status: string;
40
+ id: string | number;
41
+ slug: string;
42
+ name: string;
43
+ imageUrl: string;
44
+ productType: string;
45
+ price: number;
46
+ compareAtPrice: number | null;
47
+ variantCount: number;
48
+ isAvailable: boolean;
49
+ totalInventory: number;
50
+ bundleItemsCount: number;
51
+ brand: string;
52
+ category: string;
53
+ collections: string[];
54
+ tags: string[];
55
+ }>;
56
+ declare const ProductSummariesSchema: z.ZodArray<z.ZodObject<{
57
+ id: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
58
+ name: z.ZodString;
59
+ slug: z.ZodString;
60
+ productType: z.ZodString;
61
+ imageUrl: z.ZodString;
62
+ price: z.ZodNumber;
63
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
64
+ variantCount: z.ZodNumber;
65
+ isAvailable: z.ZodBoolean;
66
+ totalInventory: z.ZodNumber;
67
+ bundleItemsCount: z.ZodNumber;
68
+ brand: z.ZodString;
69
+ category: z.ZodString;
70
+ status: z.ZodString;
71
+ collections: z.ZodArray<z.ZodString, "many">;
72
+ tags: z.ZodArray<z.ZodString, "many">;
73
+ }, "strip", z.ZodTypeAny, {
74
+ status: string;
75
+ id: string;
76
+ slug: string;
77
+ name: string;
78
+ imageUrl: string;
79
+ productType: string;
80
+ price: number;
81
+ compareAtPrice: number | null;
82
+ variantCount: number;
83
+ isAvailable: boolean;
84
+ totalInventory: number;
85
+ bundleItemsCount: number;
86
+ brand: string;
87
+ category: string;
88
+ collections: string[];
89
+ tags: string[];
90
+ }, {
91
+ status: string;
92
+ id: string | number;
93
+ slug: string;
94
+ name: string;
95
+ imageUrl: string;
96
+ productType: string;
97
+ price: number;
98
+ compareAtPrice: number | null;
99
+ variantCount: number;
100
+ isAvailable: boolean;
101
+ totalInventory: number;
102
+ bundleItemsCount: number;
103
+ brand: string;
104
+ category: string;
105
+ collections: string[];
106
+ tags: string[];
107
+ }>, "many">;
108
+ declare const ProductSchema: z.ZodObject<{
109
+ id: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
110
+ name: z.ZodString;
111
+ slug: z.ZodString;
112
+ productType: z.ZodString;
113
+ imageUrl: z.ZodString;
114
+ price: z.ZodNumber;
115
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
116
+ variantCount: z.ZodNumber;
117
+ isAvailable: z.ZodBoolean;
118
+ totalInventory: z.ZodNumber;
119
+ bundleItemsCount: z.ZodNumber;
120
+ brand: z.ZodString;
121
+ category: z.ZodString;
122
+ status: z.ZodString;
123
+ collections: z.ZodArray<z.ZodString, "many">;
124
+ tags: z.ZodArray<z.ZodString, "many">;
125
+ }, "strip", z.ZodTypeAny, {
126
+ status: string;
127
+ id: string;
128
+ slug: string;
129
+ name: string;
130
+ imageUrl: string;
131
+ productType: string;
132
+ price: number;
133
+ compareAtPrice: number | null;
134
+ variantCount: number;
135
+ isAvailable: boolean;
136
+ totalInventory: number;
137
+ bundleItemsCount: number;
138
+ brand: string;
139
+ category: string;
140
+ collections: string[];
141
+ tags: string[];
142
+ }, {
143
+ status: string;
144
+ id: string | number;
145
+ slug: string;
146
+ name: string;
147
+ imageUrl: string;
148
+ productType: string;
149
+ price: number;
150
+ compareAtPrice: number | null;
151
+ variantCount: number;
152
+ isAvailable: boolean;
153
+ totalInventory: number;
154
+ bundleItemsCount: number;
155
+ brand: string;
156
+ category: string;
157
+ collections: string[];
158
+ tags: string[];
159
+ }>;
160
+ declare const FacetItemSchema: z.ZodObject<{
161
+ value: z.ZodString;
162
+ count: z.ZodNumber;
163
+ label: z.ZodNullable<z.ZodString>;
164
+ selected: z.ZodBoolean;
165
+ }, "strip", z.ZodTypeAny, {
166
+ value: string;
167
+ count: number;
168
+ label: string | null;
169
+ selected: boolean;
170
+ }, {
171
+ value: string;
172
+ count: number;
173
+ label: string | null;
174
+ selected: boolean;
175
+ }>;
176
+ declare const FacetSchema: z.ZodObject<{
177
+ value: z.ZodString;
178
+ count: z.ZodNumber;
179
+ label: z.ZodNullable<z.ZodString>;
180
+ selected: z.ZodBoolean;
181
+ }, "strip", z.ZodTypeAny, {
182
+ value: string;
183
+ count: number;
184
+ label: string | null;
185
+ selected: boolean;
186
+ }, {
187
+ value: string;
188
+ count: number;
189
+ label: string | null;
190
+ selected: boolean;
191
+ }>;
192
+ declare const SearchFilterSchema: z.ZodObject<{
193
+ id: z.ZodString;
194
+ label: z.ZodString;
195
+ type: z.ZodEnum<["list", "price_range"]>;
196
+ values: z.ZodArray<z.ZodObject<{
197
+ value: z.ZodString;
198
+ count: z.ZodNumber;
199
+ label: z.ZodNullable<z.ZodString>;
200
+ selected: z.ZodBoolean;
201
+ }, "strip", z.ZodTypeAny, {
202
+ value: string;
203
+ count: number;
204
+ label: string | null;
205
+ selected: boolean;
206
+ }, {
207
+ value: string;
208
+ count: number;
209
+ label: string | null;
210
+ selected: boolean;
211
+ }>, "many">;
212
+ min: z.ZodNullable<z.ZodNumber>;
213
+ max: z.ZodNullable<z.ZodNumber>;
214
+ selectedMin: z.ZodNullable<z.ZodNumber>;
215
+ selectedMax: z.ZodNullable<z.ZodNumber>;
216
+ }, "strip", z.ZodTypeAny, {
217
+ type: "list" | "price_range";
218
+ values: {
219
+ value: string;
220
+ count: number;
221
+ label: string | null;
222
+ selected: boolean;
223
+ }[];
224
+ id: string;
225
+ label: string;
226
+ min: number | null;
227
+ max: number | null;
228
+ selectedMin: number | null;
229
+ selectedMax: number | null;
230
+ }, {
231
+ type: "list" | "price_range";
232
+ values: {
233
+ value: string;
234
+ count: number;
235
+ label: string | null;
236
+ selected: boolean;
237
+ }[];
238
+ id: string;
239
+ label: string;
240
+ min: number | null;
241
+ max: number | null;
242
+ selectedMin: number | null;
243
+ selectedMax: number | null;
244
+ }>;
245
+ declare const ProductsResponseSchema: z.ZodObject<{
246
+ pageIndex: z.ZodNumber;
247
+ pageSize: z.ZodNumber;
248
+ totalCount: z.ZodNumber;
249
+ totalPages: z.ZodNumber;
250
+ products: z.ZodArray<z.ZodObject<{
251
+ id: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
252
+ name: z.ZodString;
253
+ slug: z.ZodString;
254
+ productType: z.ZodString;
255
+ imageUrl: z.ZodString;
256
+ price: z.ZodNumber;
257
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
258
+ variantCount: z.ZodNumber;
259
+ isAvailable: z.ZodBoolean;
260
+ totalInventory: z.ZodNumber;
261
+ bundleItemsCount: z.ZodNumber;
262
+ brand: z.ZodString;
263
+ category: z.ZodString;
264
+ status: z.ZodString;
265
+ collections: z.ZodArray<z.ZodString, "many">;
266
+ tags: z.ZodArray<z.ZodString, "many">;
267
+ }, "strip", z.ZodTypeAny, {
268
+ status: string;
269
+ id: string;
270
+ slug: string;
271
+ name: string;
272
+ imageUrl: string;
273
+ productType: string;
274
+ price: number;
275
+ compareAtPrice: number | null;
276
+ variantCount: number;
277
+ isAvailable: boolean;
278
+ totalInventory: number;
279
+ bundleItemsCount: number;
280
+ brand: string;
281
+ category: string;
282
+ collections: string[];
283
+ tags: string[];
284
+ }, {
285
+ status: string;
286
+ id: string | number;
287
+ slug: string;
288
+ name: string;
289
+ imageUrl: string;
290
+ productType: string;
291
+ price: number;
292
+ compareAtPrice: number | null;
293
+ variantCount: number;
294
+ isAvailable: boolean;
295
+ totalInventory: number;
296
+ bundleItemsCount: number;
297
+ brand: string;
298
+ category: string;
299
+ collections: string[];
300
+ tags: string[];
301
+ }>, "many">;
302
+ filters: z.ZodArray<z.ZodObject<{
303
+ id: z.ZodString;
304
+ label: z.ZodString;
305
+ type: z.ZodEnum<["list", "price_range"]>;
306
+ values: z.ZodArray<z.ZodObject<{
307
+ value: z.ZodString;
308
+ count: z.ZodNumber;
309
+ label: z.ZodNullable<z.ZodString>;
310
+ selected: z.ZodBoolean;
311
+ }, "strip", z.ZodTypeAny, {
312
+ value: string;
313
+ count: number;
314
+ label: string | null;
315
+ selected: boolean;
316
+ }, {
317
+ value: string;
318
+ count: number;
319
+ label: string | null;
320
+ selected: boolean;
321
+ }>, "many">;
322
+ min: z.ZodNullable<z.ZodNumber>;
323
+ max: z.ZodNullable<z.ZodNumber>;
324
+ selectedMin: z.ZodNullable<z.ZodNumber>;
325
+ selectedMax: z.ZodNullable<z.ZodNumber>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ type: "list" | "price_range";
328
+ values: {
329
+ value: string;
330
+ count: number;
331
+ label: string | null;
332
+ selected: boolean;
333
+ }[];
334
+ id: string;
335
+ label: string;
336
+ min: number | null;
337
+ max: number | null;
338
+ selectedMin: number | null;
339
+ selectedMax: number | null;
340
+ }, {
341
+ type: "list" | "price_range";
342
+ values: {
343
+ value: string;
344
+ count: number;
345
+ label: string | null;
346
+ selected: boolean;
347
+ }[];
348
+ id: string;
349
+ label: string;
350
+ min: number | null;
351
+ max: number | null;
352
+ selectedMin: number | null;
353
+ selectedMax: number | null;
354
+ }>, "many">;
355
+ }, "strip", z.ZodTypeAny, {
356
+ pageIndex: number;
357
+ pageSize: number;
358
+ totalCount: number;
359
+ totalPages: number;
360
+ products: {
361
+ status: string;
362
+ id: string;
363
+ slug: string;
364
+ name: string;
365
+ imageUrl: string;
366
+ productType: string;
367
+ price: number;
368
+ compareAtPrice: number | null;
369
+ variantCount: number;
370
+ isAvailable: boolean;
371
+ totalInventory: number;
372
+ bundleItemsCount: number;
373
+ brand: string;
374
+ category: string;
375
+ collections: string[];
376
+ tags: string[];
377
+ }[];
378
+ filters: {
379
+ type: "list" | "price_range";
380
+ values: {
381
+ value: string;
382
+ count: number;
383
+ label: string | null;
384
+ selected: boolean;
385
+ }[];
386
+ id: string;
387
+ label: string;
388
+ min: number | null;
389
+ max: number | null;
390
+ selectedMin: number | null;
391
+ selectedMax: number | null;
392
+ }[];
393
+ }, {
394
+ pageIndex: number;
395
+ pageSize: number;
396
+ totalCount: number;
397
+ totalPages: number;
398
+ products: {
399
+ status: string;
400
+ id: string | number;
401
+ slug: string;
402
+ name: string;
403
+ imageUrl: string;
404
+ productType: string;
405
+ price: number;
406
+ compareAtPrice: number | null;
407
+ variantCount: number;
408
+ isAvailable: boolean;
409
+ totalInventory: number;
410
+ bundleItemsCount: number;
411
+ brand: string;
412
+ category: string;
413
+ collections: string[];
414
+ tags: string[];
415
+ }[];
416
+ filters: {
417
+ type: "list" | "price_range";
418
+ values: {
419
+ value: string;
420
+ count: number;
421
+ label: string | null;
422
+ selected: boolean;
423
+ }[];
424
+ id: string;
425
+ label: string;
426
+ min: number | null;
427
+ max: number | null;
428
+ selectedMin: number | null;
429
+ selectedMax: number | null;
430
+ }[];
431
+ }>;
432
+ declare const ProductSortSchema: z.ZodEnum<["price_asc", "price_desc", "name_asc", "name_desc", "newest"]>;
433
+ declare const ProductsParamsSchema: z.ZodObject<{
434
+ page: z.ZodDefault<z.ZodNumber>;
435
+ pageSize: z.ZodDefault<z.ZodNumber>;
436
+ sort: z.ZodOptional<z.ZodEnum<["price_asc", "price_desc", "name_asc", "name_desc", "newest"]>>;
437
+ sellerId: z.ZodOptional<z.ZodString>;
438
+ search: z.ZodOptional<z.ZodString>;
439
+ collection: z.ZodOptional<z.ZodString>;
440
+ collections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
441
+ collectionId: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>>;
442
+ category: z.ZodOptional<z.ZodString>;
443
+ categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
444
+ brand: z.ZodOptional<z.ZodString>;
445
+ brands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
446
+ productType: z.ZodOptional<z.ZodString>;
447
+ productTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
448
+ tag: z.ZodOptional<z.ZodString>;
449
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
450
+ filters: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
451
+ locationId: z.ZodOptional<z.ZodString>;
452
+ inStock: z.ZodOptional<z.ZodBoolean>;
453
+ minPrice: z.ZodOptional<z.ZodNumber>;
454
+ maxPrice: z.ZodOptional<z.ZodNumber>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ pageSize: number;
457
+ page: number;
458
+ sort?: "price_asc" | "price_desc" | "name_asc" | "name_desc" | "newest" | undefined;
459
+ productType?: string | undefined;
460
+ brand?: string | undefined;
461
+ category?: string | undefined;
462
+ collections?: string[] | undefined;
463
+ tags?: string[] | undefined;
464
+ filters?: string[] | undefined;
465
+ sellerId?: string | undefined;
466
+ search?: string | undefined;
467
+ collection?: string | undefined;
468
+ collectionId?: string | undefined;
469
+ categories?: string[] | undefined;
470
+ brands?: string[] | undefined;
471
+ productTypes?: string[] | undefined;
472
+ tag?: string | undefined;
473
+ locationId?: string | undefined;
474
+ inStock?: boolean | undefined;
475
+ minPrice?: number | undefined;
476
+ maxPrice?: number | undefined;
477
+ }, {
478
+ sort?: "price_asc" | "price_desc" | "name_asc" | "name_desc" | "newest" | undefined;
479
+ productType?: string | undefined;
480
+ brand?: string | undefined;
481
+ category?: string | undefined;
482
+ collections?: string[] | undefined;
483
+ tags?: string[] | undefined;
484
+ pageSize?: number | undefined;
485
+ filters?: string[] | undefined;
486
+ page?: number | undefined;
487
+ sellerId?: string | undefined;
488
+ search?: string | undefined;
489
+ collection?: string | undefined;
490
+ collectionId?: string | number | undefined;
491
+ categories?: string[] | undefined;
492
+ brands?: string[] | undefined;
493
+ productTypes?: string[] | undefined;
494
+ tag?: string | undefined;
495
+ locationId?: string | undefined;
496
+ inStock?: boolean | undefined;
497
+ minPrice?: number | undefined;
498
+ maxPrice?: number | undefined;
499
+ }>;
500
+ declare const ProductDetailParamsSchema: z.ZodObject<{
501
+ sellerId: z.ZodOptional<z.ZodString>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ sellerId?: string | undefined;
504
+ }, {
505
+ sellerId?: string | undefined;
506
+ }>;
507
+ declare const RelatedProductsParamsSchema: z.ZodObject<{
508
+ productId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
509
+ limit: z.ZodDefault<z.ZodNumber>;
510
+ sellerId: z.ZodOptional<z.ZodString>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ productId: string;
513
+ limit: number;
514
+ sellerId?: string | undefined;
515
+ }, {
516
+ productId: string | number;
517
+ sellerId?: string | undefined;
518
+ limit?: number | undefined;
519
+ }>;
520
+ declare const SpecItemSchema: z.ZodObject<{
521
+ key: z.ZodString;
522
+ name: z.ZodString;
523
+ value: z.ZodString;
524
+ }, "strip", z.ZodTypeAny, {
525
+ key: string;
526
+ value: string;
527
+ name: string;
528
+ }, {
529
+ key: string;
530
+ value: string;
531
+ name: string;
532
+ }>;
533
+ declare const VariantOptionSchema: z.ZodObject<{
534
+ key: z.ZodString;
535
+ name: z.ZodString;
536
+ value: z.ZodString;
537
+ }, "strip", z.ZodTypeAny, {
538
+ key: string;
539
+ value: string;
540
+ name: string;
541
+ }, {
542
+ key: string;
543
+ value: string;
544
+ name: string;
545
+ }>;
546
+ declare const ProductImageSchema: z.ZodObject<{
547
+ url: z.ZodString;
548
+ name: z.ZodString;
549
+ order: z.ZodNumber;
550
+ }, "strip", z.ZodTypeAny, {
551
+ name: string;
552
+ url: string;
553
+ order: number;
554
+ }, {
555
+ name: string;
556
+ url: string;
557
+ order: number;
558
+ }>;
559
+ declare const VariantItemSchema: z.ZodObject<{
560
+ id: z.ZodNullable<z.ZodString>;
561
+ sku: z.ZodString;
562
+ status: z.ZodString;
563
+ price: z.ZodNumber;
564
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
565
+ quantity: z.ZodNumber;
566
+ options: z.ZodArray<z.ZodObject<{
567
+ key: z.ZodString;
568
+ name: z.ZodString;
569
+ value: z.ZodString;
570
+ }, "strip", z.ZodTypeAny, {
571
+ key: string;
572
+ value: string;
573
+ name: string;
574
+ }, {
575
+ key: string;
576
+ value: string;
577
+ name: string;
578
+ }>, "many">;
579
+ images: z.ZodArray<z.ZodObject<{
580
+ url: z.ZodString;
581
+ name: z.ZodString;
582
+ order: z.ZodNumber;
583
+ }, "strip", z.ZodTypeAny, {
584
+ name: string;
585
+ url: string;
586
+ order: number;
587
+ }, {
588
+ name: string;
589
+ url: string;
590
+ order: number;
591
+ }>, "many">;
592
+ }, "strip", z.ZodTypeAny, {
593
+ options: {
594
+ key: string;
595
+ value: string;
596
+ name: string;
597
+ }[];
598
+ status: string;
599
+ id: string | null;
600
+ price: number;
601
+ compareAtPrice: number | null;
602
+ sku: string;
603
+ quantity: number;
604
+ images: {
605
+ name: string;
606
+ url: string;
607
+ order: number;
608
+ }[];
609
+ }, {
610
+ options: {
611
+ key: string;
612
+ value: string;
613
+ name: string;
614
+ }[];
615
+ status: string;
616
+ id: string | null;
617
+ price: number;
618
+ compareAtPrice: number | null;
619
+ sku: string;
620
+ quantity: number;
621
+ images: {
622
+ name: string;
623
+ url: string;
624
+ order: number;
625
+ }[];
626
+ }>;
627
+ declare const VariantSchema: z.ZodObject<{
628
+ id: z.ZodNullable<z.ZodString>;
629
+ sku: z.ZodString;
630
+ status: z.ZodString;
631
+ price: z.ZodNumber;
632
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
633
+ quantity: z.ZodNumber;
634
+ options: z.ZodArray<z.ZodObject<{
635
+ key: z.ZodString;
636
+ name: z.ZodString;
637
+ value: z.ZodString;
638
+ }, "strip", z.ZodTypeAny, {
639
+ key: string;
640
+ value: string;
641
+ name: string;
642
+ }, {
643
+ key: string;
644
+ value: string;
645
+ name: string;
646
+ }>, "many">;
647
+ images: z.ZodArray<z.ZodObject<{
648
+ url: z.ZodString;
649
+ name: z.ZodString;
650
+ order: z.ZodNumber;
651
+ }, "strip", z.ZodTypeAny, {
652
+ name: string;
653
+ url: string;
654
+ order: number;
655
+ }, {
656
+ name: string;
657
+ url: string;
658
+ order: number;
659
+ }>, "many">;
660
+ }, "strip", z.ZodTypeAny, {
661
+ options: {
662
+ key: string;
663
+ value: string;
664
+ name: string;
665
+ }[];
666
+ status: string;
667
+ id: string | null;
668
+ price: number;
669
+ compareAtPrice: number | null;
670
+ sku: string;
671
+ quantity: number;
672
+ images: {
673
+ name: string;
674
+ url: string;
675
+ order: number;
676
+ }[];
677
+ }, {
678
+ options: {
679
+ key: string;
680
+ value: string;
681
+ name: string;
682
+ }[];
683
+ status: string;
684
+ id: string | null;
685
+ price: number;
686
+ compareAtPrice: number | null;
687
+ sku: string;
688
+ quantity: number;
689
+ images: {
690
+ name: string;
691
+ url: string;
692
+ order: number;
693
+ }[];
694
+ }>;
695
+ declare const ProductPriceTierSchema: z.ZodObject<{
696
+ variantId: z.ZodString;
697
+ minQuantity: z.ZodNumber;
698
+ maxQuantity: z.ZodNullable<z.ZodNumber>;
699
+ unitPrice: z.ZodNumber;
700
+ }, "strip", z.ZodTypeAny, {
701
+ variantId: string;
702
+ minQuantity: number;
703
+ maxQuantity: number | null;
704
+ unitPrice: number;
705
+ }, {
706
+ variantId: string;
707
+ minQuantity: number;
708
+ maxQuantity: number | null;
709
+ unitPrice: number;
710
+ }>;
711
+ declare const PriceTierSchema: z.ZodObject<{
712
+ variantId: z.ZodString;
713
+ minQuantity: z.ZodNumber;
714
+ maxQuantity: z.ZodNullable<z.ZodNumber>;
715
+ unitPrice: z.ZodNumber;
716
+ }, "strip", z.ZodTypeAny, {
717
+ variantId: string;
718
+ minQuantity: number;
719
+ maxQuantity: number | null;
720
+ unitPrice: number;
721
+ }, {
722
+ variantId: string;
723
+ minQuantity: number;
724
+ maxQuantity: number | null;
725
+ unitPrice: number;
726
+ }>;
727
+ declare const BundleItemSchema: z.ZodObject<{
728
+ productId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
729
+ variantId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
730
+ productName: z.ZodString;
731
+ variantName: z.ZodNullable<z.ZodString>;
732
+ sku: z.ZodNullable<z.ZodString>;
733
+ brand: z.ZodNullable<z.ZodString>;
734
+ imageUrl: z.ZodNullable<z.ZodString>;
735
+ quantity: z.ZodNumber;
736
+ available: z.ZodNumber;
737
+ allowBackorders: z.ZodBoolean;
738
+ requiresShipping: z.ZodBoolean;
739
+ }, "strip", z.ZodTypeAny, {
740
+ imageUrl: string | null;
741
+ brand: string | null;
742
+ productId: string;
743
+ sku: string | null;
744
+ quantity: number;
745
+ variantId: string;
746
+ productName: string;
747
+ variantName: string | null;
748
+ available: number;
749
+ allowBackorders: boolean;
750
+ requiresShipping: boolean;
751
+ }, {
752
+ imageUrl: string | null;
753
+ brand: string | null;
754
+ productId: string | number;
755
+ sku: string | null;
756
+ quantity: number;
757
+ variantId: string | number;
758
+ productName: string;
759
+ variantName: string | null;
760
+ available: number;
761
+ allowBackorders: boolean;
762
+ requiresShipping: boolean;
763
+ }>;
764
+ declare const SizeGuideMeasurementSchema: z.ZodObject<{
765
+ key: z.ZodString;
766
+ name: z.ZodString;
767
+ min: z.ZodNullable<z.ZodNumber>;
768
+ max: z.ZodNullable<z.ZodNumber>;
769
+ value: z.ZodNullable<z.ZodNumber>;
770
+ description: z.ZodNullable<z.ZodString>;
771
+ }, "strip", z.ZodTypeAny, {
772
+ key: string;
773
+ value: number | null;
774
+ name: string;
775
+ description: string | null;
776
+ min: number | null;
777
+ max: number | null;
778
+ }, {
779
+ key: string;
780
+ value: number | null;
781
+ name: string;
782
+ description: string | null;
783
+ min: number | null;
784
+ max: number | null;
785
+ }>;
786
+ declare const SizeGuideRowSchema: z.ZodObject<{
787
+ label: z.ZodString;
788
+ sizeKey: z.ZodString;
789
+ order: z.ZodNumber;
790
+ measurements: z.ZodArray<z.ZodObject<{
791
+ key: z.ZodString;
792
+ name: z.ZodString;
793
+ min: z.ZodNullable<z.ZodNumber>;
794
+ max: z.ZodNullable<z.ZodNumber>;
795
+ value: z.ZodNullable<z.ZodNumber>;
796
+ description: z.ZodNullable<z.ZodString>;
797
+ }, "strip", z.ZodTypeAny, {
798
+ key: string;
799
+ value: number | null;
800
+ name: string;
801
+ description: string | null;
802
+ min: number | null;
803
+ max: number | null;
804
+ }, {
805
+ key: string;
806
+ value: number | null;
807
+ name: string;
808
+ description: string | null;
809
+ min: number | null;
810
+ max: number | null;
811
+ }>, "many">;
812
+ }, "strip", z.ZodTypeAny, {
813
+ label: string;
814
+ order: number;
815
+ sizeKey: string;
816
+ measurements: {
817
+ key: string;
818
+ value: number | null;
819
+ name: string;
820
+ description: string | null;
821
+ min: number | null;
822
+ max: number | null;
823
+ }[];
824
+ }, {
825
+ label: string;
826
+ order: number;
827
+ sizeKey: string;
828
+ measurements: {
829
+ key: string;
830
+ value: number | null;
831
+ name: string;
832
+ description: string | null;
833
+ min: number | null;
834
+ max: number | null;
835
+ }[];
836
+ }>;
837
+ declare const SizeGuideSchema: z.ZodObject<{
838
+ id: z.ZodString;
839
+ name: z.ZodString;
840
+ slug: z.ZodString;
841
+ description: z.ZodNullable<z.ZodString>;
842
+ imageUrl: z.ZodNullable<z.ZodString>;
843
+ gender: z.ZodString;
844
+ measurementType: z.ZodString;
845
+ unit: z.ZodString;
846
+ notes: z.ZodNullable<z.ZodString>;
847
+ rows: z.ZodArray<z.ZodObject<{
848
+ label: z.ZodString;
849
+ sizeKey: z.ZodString;
850
+ order: z.ZodNumber;
851
+ measurements: z.ZodArray<z.ZodObject<{
852
+ key: z.ZodString;
853
+ name: z.ZodString;
854
+ min: z.ZodNullable<z.ZodNumber>;
855
+ max: z.ZodNullable<z.ZodNumber>;
856
+ value: z.ZodNullable<z.ZodNumber>;
857
+ description: z.ZodNullable<z.ZodString>;
858
+ }, "strip", z.ZodTypeAny, {
859
+ key: string;
860
+ value: number | null;
861
+ name: string;
862
+ description: string | null;
863
+ min: number | null;
864
+ max: number | null;
865
+ }, {
866
+ key: string;
867
+ value: number | null;
868
+ name: string;
869
+ description: string | null;
870
+ min: number | null;
871
+ max: number | null;
872
+ }>, "many">;
873
+ }, "strip", z.ZodTypeAny, {
874
+ label: string;
875
+ order: number;
876
+ sizeKey: string;
877
+ measurements: {
878
+ key: string;
879
+ value: number | null;
880
+ name: string;
881
+ description: string | null;
882
+ min: number | null;
883
+ max: number | null;
884
+ }[];
885
+ }, {
886
+ label: string;
887
+ order: number;
888
+ sizeKey: string;
889
+ measurements: {
890
+ key: string;
891
+ value: number | null;
892
+ name: string;
893
+ description: string | null;
894
+ min: number | null;
895
+ max: number | null;
896
+ }[];
897
+ }>, "many">;
898
+ }, "strip", z.ZodTypeAny, {
899
+ id: string;
900
+ slug: string;
901
+ name: string;
902
+ description: string | null;
903
+ imageUrl: string | null;
904
+ gender: string;
905
+ measurementType: string;
906
+ unit: string;
907
+ notes: string | null;
908
+ rows: {
909
+ label: string;
910
+ order: number;
911
+ sizeKey: string;
912
+ measurements: {
913
+ key: string;
914
+ value: number | null;
915
+ name: string;
916
+ description: string | null;
917
+ min: number | null;
918
+ max: number | null;
919
+ }[];
920
+ }[];
921
+ }, {
922
+ id: string;
923
+ slug: string;
924
+ name: string;
925
+ description: string | null;
926
+ imageUrl: string | null;
927
+ gender: string;
928
+ measurementType: string;
929
+ unit: string;
930
+ notes: string | null;
931
+ rows: {
932
+ label: string;
933
+ order: number;
934
+ sizeKey: string;
935
+ measurements: {
936
+ key: string;
937
+ value: number | null;
938
+ name: string;
939
+ description: string | null;
940
+ min: number | null;
941
+ max: number | null;
942
+ }[];
943
+ }[];
944
+ }>;
945
+ declare const ProductDetailSchema: z.ZodObject<{
946
+ id: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
947
+ name: z.ZodString;
948
+ slug: z.ZodString;
949
+ description: z.ZodString;
950
+ productType: z.ZodString;
951
+ status: z.ZodString;
952
+ imageUrl: z.ZodString;
953
+ price: z.ZodNumber;
954
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
955
+ isAvailable: z.ZodBoolean;
956
+ totalInventory: z.ZodNumber;
957
+ brand: z.ZodString;
958
+ category: z.ZodString;
959
+ categoryId: z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>>;
960
+ tags: z.ZodArray<z.ZodString, "many">;
961
+ specifications: z.ZodArray<z.ZodObject<{
962
+ key: z.ZodString;
963
+ name: z.ZodString;
964
+ value: z.ZodString;
965
+ }, "strip", z.ZodTypeAny, {
966
+ key: string;
967
+ value: string;
968
+ name: string;
969
+ }, {
970
+ key: string;
971
+ value: string;
972
+ name: string;
973
+ }>, "many">;
974
+ variants: z.ZodArray<z.ZodObject<{
975
+ id: z.ZodNullable<z.ZodString>;
976
+ sku: z.ZodString;
977
+ status: z.ZodString;
978
+ price: z.ZodNumber;
979
+ compareAtPrice: z.ZodNullable<z.ZodNumber>;
980
+ quantity: z.ZodNumber;
981
+ options: z.ZodArray<z.ZodObject<{
982
+ key: z.ZodString;
983
+ name: z.ZodString;
984
+ value: z.ZodString;
985
+ }, "strip", z.ZodTypeAny, {
986
+ key: string;
987
+ value: string;
988
+ name: string;
989
+ }, {
990
+ key: string;
991
+ value: string;
992
+ name: string;
993
+ }>, "many">;
994
+ images: z.ZodArray<z.ZodObject<{
995
+ url: z.ZodString;
996
+ name: z.ZodString;
997
+ order: z.ZodNumber;
998
+ }, "strip", z.ZodTypeAny, {
999
+ name: string;
1000
+ url: string;
1001
+ order: number;
1002
+ }, {
1003
+ name: string;
1004
+ url: string;
1005
+ order: number;
1006
+ }>, "many">;
1007
+ }, "strip", z.ZodTypeAny, {
1008
+ options: {
1009
+ key: string;
1010
+ value: string;
1011
+ name: string;
1012
+ }[];
1013
+ status: string;
1014
+ id: string | null;
1015
+ price: number;
1016
+ compareAtPrice: number | null;
1017
+ sku: string;
1018
+ quantity: number;
1019
+ images: {
1020
+ name: string;
1021
+ url: string;
1022
+ order: number;
1023
+ }[];
1024
+ }, {
1025
+ options: {
1026
+ key: string;
1027
+ value: string;
1028
+ name: string;
1029
+ }[];
1030
+ status: string;
1031
+ id: string | null;
1032
+ price: number;
1033
+ compareAtPrice: number | null;
1034
+ sku: string;
1035
+ quantity: number;
1036
+ images: {
1037
+ name: string;
1038
+ url: string;
1039
+ order: number;
1040
+ }[];
1041
+ }>, "many">;
1042
+ images: z.ZodArray<z.ZodObject<{
1043
+ url: z.ZodString;
1044
+ name: z.ZodString;
1045
+ order: z.ZodNumber;
1046
+ }, "strip", z.ZodTypeAny, {
1047
+ name: string;
1048
+ url: string;
1049
+ order: number;
1050
+ }, {
1051
+ name: string;
1052
+ url: string;
1053
+ order: number;
1054
+ }>, "many">;
1055
+ bundleItems: z.ZodArray<z.ZodObject<{
1056
+ productId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
1057
+ variantId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
1058
+ productName: z.ZodString;
1059
+ variantName: z.ZodNullable<z.ZodString>;
1060
+ sku: z.ZodNullable<z.ZodString>;
1061
+ brand: z.ZodNullable<z.ZodString>;
1062
+ imageUrl: z.ZodNullable<z.ZodString>;
1063
+ quantity: z.ZodNumber;
1064
+ available: z.ZodNumber;
1065
+ allowBackorders: z.ZodBoolean;
1066
+ requiresShipping: z.ZodBoolean;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ imageUrl: string | null;
1069
+ brand: string | null;
1070
+ productId: string;
1071
+ sku: string | null;
1072
+ quantity: number;
1073
+ variantId: string;
1074
+ productName: string;
1075
+ variantName: string | null;
1076
+ available: number;
1077
+ allowBackorders: boolean;
1078
+ requiresShipping: boolean;
1079
+ }, {
1080
+ imageUrl: string | null;
1081
+ brand: string | null;
1082
+ productId: string | number;
1083
+ sku: string | null;
1084
+ quantity: number;
1085
+ variantId: string | number;
1086
+ productName: string;
1087
+ variantName: string | null;
1088
+ available: number;
1089
+ allowBackorders: boolean;
1090
+ requiresShipping: boolean;
1091
+ }>, "many">;
1092
+ sizeGuide: z.ZodNullable<z.ZodObject<{
1093
+ id: z.ZodString;
1094
+ name: z.ZodString;
1095
+ slug: z.ZodString;
1096
+ description: z.ZodNullable<z.ZodString>;
1097
+ imageUrl: z.ZodNullable<z.ZodString>;
1098
+ gender: z.ZodString;
1099
+ measurementType: z.ZodString;
1100
+ unit: z.ZodString;
1101
+ notes: z.ZodNullable<z.ZodString>;
1102
+ rows: z.ZodArray<z.ZodObject<{
1103
+ label: z.ZodString;
1104
+ sizeKey: z.ZodString;
1105
+ order: z.ZodNumber;
1106
+ measurements: z.ZodArray<z.ZodObject<{
1107
+ key: z.ZodString;
1108
+ name: z.ZodString;
1109
+ min: z.ZodNullable<z.ZodNumber>;
1110
+ max: z.ZodNullable<z.ZodNumber>;
1111
+ value: z.ZodNullable<z.ZodNumber>;
1112
+ description: z.ZodNullable<z.ZodString>;
1113
+ }, "strip", z.ZodTypeAny, {
1114
+ key: string;
1115
+ value: number | null;
1116
+ name: string;
1117
+ description: string | null;
1118
+ min: number | null;
1119
+ max: number | null;
1120
+ }, {
1121
+ key: string;
1122
+ value: number | null;
1123
+ name: string;
1124
+ description: string | null;
1125
+ min: number | null;
1126
+ max: number | null;
1127
+ }>, "many">;
1128
+ }, "strip", z.ZodTypeAny, {
1129
+ label: string;
1130
+ order: number;
1131
+ sizeKey: string;
1132
+ measurements: {
1133
+ key: string;
1134
+ value: number | null;
1135
+ name: string;
1136
+ description: string | null;
1137
+ min: number | null;
1138
+ max: number | null;
1139
+ }[];
1140
+ }, {
1141
+ label: string;
1142
+ order: number;
1143
+ sizeKey: string;
1144
+ measurements: {
1145
+ key: string;
1146
+ value: number | null;
1147
+ name: string;
1148
+ description: string | null;
1149
+ min: number | null;
1150
+ max: number | null;
1151
+ }[];
1152
+ }>, "many">;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ id: string;
1155
+ slug: string;
1156
+ name: string;
1157
+ description: string | null;
1158
+ imageUrl: string | null;
1159
+ gender: string;
1160
+ measurementType: string;
1161
+ unit: string;
1162
+ notes: string | null;
1163
+ rows: {
1164
+ label: string;
1165
+ order: number;
1166
+ sizeKey: string;
1167
+ measurements: {
1168
+ key: string;
1169
+ value: number | null;
1170
+ name: string;
1171
+ description: string | null;
1172
+ min: number | null;
1173
+ max: number | null;
1174
+ }[];
1175
+ }[];
1176
+ }, {
1177
+ id: string;
1178
+ slug: string;
1179
+ name: string;
1180
+ description: string | null;
1181
+ imageUrl: string | null;
1182
+ gender: string;
1183
+ measurementType: string;
1184
+ unit: string;
1185
+ notes: string | null;
1186
+ rows: {
1187
+ label: string;
1188
+ order: number;
1189
+ sizeKey: string;
1190
+ measurements: {
1191
+ key: string;
1192
+ value: number | null;
1193
+ name: string;
1194
+ description: string | null;
1195
+ min: number | null;
1196
+ max: number | null;
1197
+ }[];
1198
+ }[];
1199
+ }>>;
1200
+ priceTiers: z.ZodArray<z.ZodObject<{
1201
+ variantId: z.ZodString;
1202
+ minQuantity: z.ZodNumber;
1203
+ maxQuantity: z.ZodNullable<z.ZodNumber>;
1204
+ unitPrice: z.ZodNumber;
1205
+ }, "strip", z.ZodTypeAny, {
1206
+ variantId: string;
1207
+ minQuantity: number;
1208
+ maxQuantity: number | null;
1209
+ unitPrice: number;
1210
+ }, {
1211
+ variantId: string;
1212
+ minQuantity: number;
1213
+ maxQuantity: number | null;
1214
+ unitPrice: number;
1215
+ }>, "many">;
1216
+ createdAt: z.ZodNullable<z.ZodString>;
1217
+ updatedAt: z.ZodNullable<z.ZodString>;
1218
+ }, "strip", z.ZodTypeAny, {
1219
+ status: string;
1220
+ id: string;
1221
+ slug: string;
1222
+ name: string;
1223
+ description: string;
1224
+ imageUrl: string;
1225
+ productType: string;
1226
+ price: number;
1227
+ compareAtPrice: number | null;
1228
+ isAvailable: boolean;
1229
+ totalInventory: number;
1230
+ brand: string;
1231
+ category: string;
1232
+ tags: string[];
1233
+ images: {
1234
+ name: string;
1235
+ url: string;
1236
+ order: number;
1237
+ }[];
1238
+ categoryId: string | null;
1239
+ specifications: {
1240
+ key: string;
1241
+ value: string;
1242
+ name: string;
1243
+ }[];
1244
+ variants: {
1245
+ options: {
1246
+ key: string;
1247
+ value: string;
1248
+ name: string;
1249
+ }[];
1250
+ status: string;
1251
+ id: string | null;
1252
+ price: number;
1253
+ compareAtPrice: number | null;
1254
+ sku: string;
1255
+ quantity: number;
1256
+ images: {
1257
+ name: string;
1258
+ url: string;
1259
+ order: number;
1260
+ }[];
1261
+ }[];
1262
+ bundleItems: {
1263
+ imageUrl: string | null;
1264
+ brand: string | null;
1265
+ productId: string;
1266
+ sku: string | null;
1267
+ quantity: number;
1268
+ variantId: string;
1269
+ productName: string;
1270
+ variantName: string | null;
1271
+ available: number;
1272
+ allowBackorders: boolean;
1273
+ requiresShipping: boolean;
1274
+ }[];
1275
+ sizeGuide: {
1276
+ id: string;
1277
+ slug: string;
1278
+ name: string;
1279
+ description: string | null;
1280
+ imageUrl: string | null;
1281
+ gender: string;
1282
+ measurementType: string;
1283
+ unit: string;
1284
+ notes: string | null;
1285
+ rows: {
1286
+ label: string;
1287
+ order: number;
1288
+ sizeKey: string;
1289
+ measurements: {
1290
+ key: string;
1291
+ value: number | null;
1292
+ name: string;
1293
+ description: string | null;
1294
+ min: number | null;
1295
+ max: number | null;
1296
+ }[];
1297
+ }[];
1298
+ } | null;
1299
+ priceTiers: {
1300
+ variantId: string;
1301
+ minQuantity: number;
1302
+ maxQuantity: number | null;
1303
+ unitPrice: number;
1304
+ }[];
1305
+ createdAt: string | null;
1306
+ updatedAt: string | null;
1307
+ }, {
1308
+ status: string;
1309
+ id: string | number;
1310
+ slug: string;
1311
+ name: string;
1312
+ description: string;
1313
+ imageUrl: string;
1314
+ productType: string;
1315
+ price: number;
1316
+ compareAtPrice: number | null;
1317
+ isAvailable: boolean;
1318
+ totalInventory: number;
1319
+ brand: string;
1320
+ category: string;
1321
+ tags: string[];
1322
+ images: {
1323
+ name: string;
1324
+ url: string;
1325
+ order: number;
1326
+ }[];
1327
+ categoryId: string | number | null;
1328
+ specifications: {
1329
+ key: string;
1330
+ value: string;
1331
+ name: string;
1332
+ }[];
1333
+ variants: {
1334
+ options: {
1335
+ key: string;
1336
+ value: string;
1337
+ name: string;
1338
+ }[];
1339
+ status: string;
1340
+ id: string | null;
1341
+ price: number;
1342
+ compareAtPrice: number | null;
1343
+ sku: string;
1344
+ quantity: number;
1345
+ images: {
1346
+ name: string;
1347
+ url: string;
1348
+ order: number;
1349
+ }[];
1350
+ }[];
1351
+ bundleItems: {
1352
+ imageUrl: string | null;
1353
+ brand: string | null;
1354
+ productId: string | number;
1355
+ sku: string | null;
1356
+ quantity: number;
1357
+ variantId: string | number;
1358
+ productName: string;
1359
+ variantName: string | null;
1360
+ available: number;
1361
+ allowBackorders: boolean;
1362
+ requiresShipping: boolean;
1363
+ }[];
1364
+ sizeGuide: {
1365
+ id: string;
1366
+ slug: string;
1367
+ name: string;
1368
+ description: string | null;
1369
+ imageUrl: string | null;
1370
+ gender: string;
1371
+ measurementType: string;
1372
+ unit: string;
1373
+ notes: string | null;
1374
+ rows: {
1375
+ label: string;
1376
+ order: number;
1377
+ sizeKey: string;
1378
+ measurements: {
1379
+ key: string;
1380
+ value: number | null;
1381
+ name: string;
1382
+ description: string | null;
1383
+ min: number | null;
1384
+ max: number | null;
1385
+ }[];
1386
+ }[];
1387
+ } | null;
1388
+ priceTiers: {
1389
+ variantId: string;
1390
+ minQuantity: number;
1391
+ maxQuantity: number | null;
1392
+ unitPrice: number;
1393
+ }[];
1394
+ createdAt: string | null;
1395
+ updatedAt: string | null;
1396
+ }>;
1397
+ type ProductSummary = z.infer<typeof ProductSummarySchema>;
1398
+ type Product = ProductSummary;
1399
+ type FacetItem = z.infer<typeof FacetItemSchema>;
1400
+ type Facet = FacetItem;
1401
+ type SearchFilter = z.infer<typeof SearchFilterSchema>;
1402
+ type ProductsResponse = z.infer<typeof ProductsResponseSchema>;
1403
+ type ProductsParams = z.infer<typeof ProductsParamsSchema>;
1404
+ type ProductsParamsInput = z.input<typeof ProductsParamsSchema>;
1405
+ type ProductDetailParams = z.input<typeof ProductDetailParamsSchema>;
1406
+ type RelatedProductsParams = z.input<typeof RelatedProductsParamsSchema>;
1407
+ type ProductSort = z.infer<typeof ProductSortSchema>;
1408
+ type SpecItem = z.infer<typeof SpecItemSchema>;
1409
+ type VariantOption = SpecItem;
1410
+ type VariantItem = z.infer<typeof VariantItemSchema>;
1411
+ type Variant = VariantItem;
1412
+ type ProductImage = z.infer<typeof ProductImageSchema>;
1413
+ type ProductPriceTier = z.infer<typeof ProductPriceTierSchema>;
1414
+ type PriceTier = ProductPriceTier;
1415
+ type BundleItem = z.infer<typeof BundleItemSchema>;
1416
+ type SizeGuideMeasurement = z.infer<typeof SizeGuideMeasurementSchema>;
1417
+ type SizeGuideRow = z.infer<typeof SizeGuideRowSchema>;
1418
+ type SizeGuide = z.infer<typeof SizeGuideSchema>;
1419
+ type ProductDetail = z.infer<typeof ProductDetailSchema>;
1420
+
1421
+ export { type BundleItem, BundleItemSchema, type Facet, type FacetItem, FacetItemSchema, FacetSchema, type PriceTier, PriceTierSchema, type Product, type ProductDetail, type ProductDetailParams, ProductDetailParamsSchema, ProductDetailSchema, type ProductImage, ProductImageSchema, type ProductPriceTier, ProductPriceTierSchema, ProductPublicIdSchema, ProductSchema, type ProductSort, ProductSortSchema, ProductSummariesSchema, type ProductSummary, ProductSummarySchema, type ProductsParams, type ProductsParamsInput, ProductsParamsSchema, type ProductsResponse, ProductsResponseSchema, type RelatedProductsParams, RelatedProductsParamsSchema, type SearchFilter, SearchFilterSchema, type SizeGuide, type SizeGuideMeasurement, SizeGuideMeasurementSchema, type SizeGuideRow, SizeGuideRowSchema, SizeGuideSchema, type SpecItem, SpecItemSchema, type Variant, type VariantItem, VariantItemSchema, type VariantOption, VariantOptionSchema, VariantSchema };