@open-loyalty/mcp-server 1.0.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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +654 -0
  3. package/dist/client/http.d.ts +8 -0
  4. package/dist/client/http.js +69 -0
  5. package/dist/config.d.ts +17 -0
  6. package/dist/config.js +40 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +20 -0
  9. package/dist/server.d.ts +4 -0
  10. package/dist/server.js +334 -0
  11. package/dist/tools/achievement.d.ts +983 -0
  12. package/dist/tools/achievement.js +311 -0
  13. package/dist/tools/admin.d.ts +153 -0
  14. package/dist/tools/admin.js +193 -0
  15. package/dist/tools/analytics.d.ts +162 -0
  16. package/dist/tools/analytics.js +245 -0
  17. package/dist/tools/apikey.d.ts +72 -0
  18. package/dist/tools/apikey.js +78 -0
  19. package/dist/tools/audit.d.ts +107 -0
  20. package/dist/tools/audit.js +90 -0
  21. package/dist/tools/badge.d.ts +135 -0
  22. package/dist/tools/badge.js +165 -0
  23. package/dist/tools/campaign.d.ts +1775 -0
  24. package/dist/tools/campaign.js +724 -0
  25. package/dist/tools/export.d.ts +110 -0
  26. package/dist/tools/export.js +147 -0
  27. package/dist/tools/import.d.ts +110 -0
  28. package/dist/tools/import.js +126 -0
  29. package/dist/tools/index.d.ts +22 -0
  30. package/dist/tools/index.js +527 -0
  31. package/dist/tools/member.d.ts +345 -0
  32. package/dist/tools/member.js +358 -0
  33. package/dist/tools/member.test.d.ts +1 -0
  34. package/dist/tools/member.test.js +213 -0
  35. package/dist/tools/points.d.ts +188 -0
  36. package/dist/tools/points.js +306 -0
  37. package/dist/tools/points.test.d.ts +1 -0
  38. package/dist/tools/points.test.js +292 -0
  39. package/dist/tools/reward.d.ts +261 -0
  40. package/dist/tools/reward.js +371 -0
  41. package/dist/tools/reward.test.d.ts +1 -0
  42. package/dist/tools/reward.test.js +240 -0
  43. package/dist/tools/role.d.ts +161 -0
  44. package/dist/tools/role.js +160 -0
  45. package/dist/tools/segment.d.ts +797 -0
  46. package/dist/tools/segment.js +299 -0
  47. package/dist/tools/store.d.ts +101 -0
  48. package/dist/tools/store.js +117 -0
  49. package/dist/tools/tierset.d.ts +288 -0
  50. package/dist/tools/tierset.js +244 -0
  51. package/dist/tools/transaction.d.ts +357 -0
  52. package/dist/tools/transaction.js +242 -0
  53. package/dist/tools/transaction.test.d.ts +1 -0
  54. package/dist/tools/transaction.test.js +235 -0
  55. package/dist/tools/wallet-type.d.ts +32 -0
  56. package/dist/tools/wallet-type.js +58 -0
  57. package/dist/tools/webhook.d.ts +179 -0
  58. package/dist/tools/webhook.js +171 -0
  59. package/dist/types/schemas/achievement.d.ts +1116 -0
  60. package/dist/types/schemas/achievement.js +172 -0
  61. package/dist/types/schemas/admin.d.ts +263 -0
  62. package/dist/types/schemas/admin.js +99 -0
  63. package/dist/types/schemas/analytics.d.ts +542 -0
  64. package/dist/types/schemas/analytics.js +130 -0
  65. package/dist/types/schemas/badge.d.ts +131 -0
  66. package/dist/types/schemas/badge.js +48 -0
  67. package/dist/types/schemas/campaign.d.ts +2005 -0
  68. package/dist/types/schemas/campaign.js +189 -0
  69. package/dist/types/schemas/common.d.ts +52 -0
  70. package/dist/types/schemas/common.js +26 -0
  71. package/dist/types/schemas/export.d.ts +127 -0
  72. package/dist/types/schemas/export.js +43 -0
  73. package/dist/types/schemas/import.d.ts +344 -0
  74. package/dist/types/schemas/import.js +68 -0
  75. package/dist/types/schemas/member.d.ts +443 -0
  76. package/dist/types/schemas/member.js +92 -0
  77. package/dist/types/schemas/points.d.ts +188 -0
  78. package/dist/types/schemas/points.js +54 -0
  79. package/dist/types/schemas/reward.d.ts +278 -0
  80. package/dist/types/schemas/reward.js +69 -0
  81. package/dist/types/schemas/role.d.ts +260 -0
  82. package/dist/types/schemas/role.js +75 -0
  83. package/dist/types/schemas/segment.d.ts +592 -0
  84. package/dist/types/schemas/segment.js +114 -0
  85. package/dist/types/schemas/tierset.d.ts +552 -0
  86. package/dist/types/schemas/tierset.js +87 -0
  87. package/dist/types/schemas/transaction.d.ts +1022 -0
  88. package/dist/types/schemas/transaction.js +63 -0
  89. package/dist/types/schemas/wallet-type.d.ts +99 -0
  90. package/dist/types/schemas/wallet-type.js +17 -0
  91. package/dist/types/schemas/webhook.d.ts +195 -0
  92. package/dist/types/schemas/webhook.js +39 -0
  93. package/dist/utils/cursor.d.ts +84 -0
  94. package/dist/utils/cursor.js +117 -0
  95. package/dist/utils/errors.d.ts +12 -0
  96. package/dist/utils/errors.js +69 -0
  97. package/dist/utils/pagination.d.ts +39 -0
  98. package/dist/utils/pagination.js +77 -0
  99. package/package.json +65 -0
@@ -0,0 +1,592 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Segment Criterion Type Enum.
4
+ * Common criterion types for defining segment membership rules.
5
+ */
6
+ export declare const SegmentCriterionTypeEnum: z.ZodEnum<["anniversary", "average_transaction_amount", "bought_in_pos", "bought_labels", "bought_makers", "bought_skus", "campaign_completion", "country", "custom_attribute", "first_purchase", "last_purchase", "points_balance", "points_earned", "points_spent", "purchase_period", "purchased_item_labels", "registration_date", "tier", "transaction_amount", "transaction_count", "transaction_percent_in_pos"]>;
7
+ export type SegmentCriterionType = z.infer<typeof SegmentCriterionTypeEnum>;
8
+ /**
9
+ * Segment Criterion Schema.
10
+ * A criterion defines one condition for segment membership.
11
+ * The 'data' field contains type-specific configuration.
12
+ */
13
+ export declare const SegmentCriterionSchema: z.ZodObject<{
14
+ type: z.ZodString;
15
+ criterionId: z.ZodOptional<z.ZodString>;
16
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
17
+ days: z.ZodOptional<z.ZodNumber>;
18
+ fromDate: z.ZodOptional<z.ZodString>;
19
+ toDate: z.ZodOptional<z.ZodString>;
20
+ min: z.ZodOptional<z.ZodNumber>;
21
+ max: z.ZodOptional<z.ZodNumber>;
22
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
26
+ key: z.ZodString;
27
+ value: z.ZodString;
28
+ }, "strip", z.ZodTypeAny, {
29
+ value: string;
30
+ key: string;
31
+ }, {
32
+ value: string;
33
+ key: string;
34
+ }>, "many">>;
35
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
+ campaignId: z.ZodOptional<z.ZodString>;
37
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
38
+ anniversaryType: z.ZodOptional<z.ZodString>;
39
+ customAttributeKey: z.ZodOptional<z.ZodString>;
40
+ customAttributeValue: z.ZodOptional<z.ZodString>;
41
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
42
+ type: z.ZodString;
43
+ criterionId: z.ZodOptional<z.ZodString>;
44
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
45
+ days: z.ZodOptional<z.ZodNumber>;
46
+ fromDate: z.ZodOptional<z.ZodString>;
47
+ toDate: z.ZodOptional<z.ZodString>;
48
+ min: z.ZodOptional<z.ZodNumber>;
49
+ max: z.ZodOptional<z.ZodNumber>;
50
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
54
+ key: z.ZodString;
55
+ value: z.ZodString;
56
+ }, "strip", z.ZodTypeAny, {
57
+ value: string;
58
+ key: string;
59
+ }, {
60
+ value: string;
61
+ key: string;
62
+ }>, "many">>;
63
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
64
+ campaignId: z.ZodOptional<z.ZodString>;
65
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
+ anniversaryType: z.ZodOptional<z.ZodString>;
67
+ customAttributeKey: z.ZodOptional<z.ZodString>;
68
+ customAttributeValue: z.ZodOptional<z.ZodString>;
69
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
70
+ type: z.ZodString;
71
+ criterionId: z.ZodOptional<z.ZodString>;
72
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ days: z.ZodOptional<z.ZodNumber>;
74
+ fromDate: z.ZodOptional<z.ZodString>;
75
+ toDate: z.ZodOptional<z.ZodString>;
76
+ min: z.ZodOptional<z.ZodNumber>;
77
+ max: z.ZodOptional<z.ZodNumber>;
78
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
79
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
80
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
81
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
82
+ key: z.ZodString;
83
+ value: z.ZodString;
84
+ }, "strip", z.ZodTypeAny, {
85
+ value: string;
86
+ key: string;
87
+ }, {
88
+ value: string;
89
+ key: string;
90
+ }>, "many">>;
91
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
+ campaignId: z.ZodOptional<z.ZodString>;
93
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
94
+ anniversaryType: z.ZodOptional<z.ZodString>;
95
+ customAttributeKey: z.ZodOptional<z.ZodString>;
96
+ customAttributeValue: z.ZodOptional<z.ZodString>;
97
+ }, z.ZodTypeAny, "passthrough">>;
98
+ export type SegmentCriterion = z.infer<typeof SegmentCriterionSchema>;
99
+ /**
100
+ * Segment Part Schema.
101
+ * A part contains multiple criteria that use AND logic.
102
+ * Parts themselves use OR logic within the segment.
103
+ */
104
+ export declare const SegmentPartSchema: z.ZodObject<{
105
+ segmentPartId: z.ZodOptional<z.ZodString>;
106
+ criteria: z.ZodArray<z.ZodObject<{
107
+ type: z.ZodString;
108
+ criterionId: z.ZodOptional<z.ZodString>;
109
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
110
+ days: z.ZodOptional<z.ZodNumber>;
111
+ fromDate: z.ZodOptional<z.ZodString>;
112
+ toDate: z.ZodOptional<z.ZodString>;
113
+ min: z.ZodOptional<z.ZodNumber>;
114
+ max: z.ZodOptional<z.ZodNumber>;
115
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
116
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
117
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
118
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
119
+ key: z.ZodString;
120
+ value: z.ZodString;
121
+ }, "strip", z.ZodTypeAny, {
122
+ value: string;
123
+ key: string;
124
+ }, {
125
+ value: string;
126
+ key: string;
127
+ }>, "many">>;
128
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
129
+ campaignId: z.ZodOptional<z.ZodString>;
130
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ anniversaryType: z.ZodOptional<z.ZodString>;
132
+ customAttributeKey: z.ZodOptional<z.ZodString>;
133
+ customAttributeValue: z.ZodOptional<z.ZodString>;
134
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
135
+ type: z.ZodString;
136
+ criterionId: z.ZodOptional<z.ZodString>;
137
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
138
+ days: z.ZodOptional<z.ZodNumber>;
139
+ fromDate: z.ZodOptional<z.ZodString>;
140
+ toDate: z.ZodOptional<z.ZodString>;
141
+ min: z.ZodOptional<z.ZodNumber>;
142
+ max: z.ZodOptional<z.ZodNumber>;
143
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
144
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
146
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
147
+ key: z.ZodString;
148
+ value: z.ZodString;
149
+ }, "strip", z.ZodTypeAny, {
150
+ value: string;
151
+ key: string;
152
+ }, {
153
+ value: string;
154
+ key: string;
155
+ }>, "many">>;
156
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
157
+ campaignId: z.ZodOptional<z.ZodString>;
158
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
159
+ anniversaryType: z.ZodOptional<z.ZodString>;
160
+ customAttributeKey: z.ZodOptional<z.ZodString>;
161
+ customAttributeValue: z.ZodOptional<z.ZodString>;
162
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
163
+ type: z.ZodString;
164
+ criterionId: z.ZodOptional<z.ZodString>;
165
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
166
+ days: z.ZodOptional<z.ZodNumber>;
167
+ fromDate: z.ZodOptional<z.ZodString>;
168
+ toDate: z.ZodOptional<z.ZodString>;
169
+ min: z.ZodOptional<z.ZodNumber>;
170
+ max: z.ZodOptional<z.ZodNumber>;
171
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
172
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
174
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
175
+ key: z.ZodString;
176
+ value: z.ZodString;
177
+ }, "strip", z.ZodTypeAny, {
178
+ value: string;
179
+ key: string;
180
+ }, {
181
+ value: string;
182
+ key: string;
183
+ }>, "many">>;
184
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
185
+ campaignId: z.ZodOptional<z.ZodString>;
186
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
187
+ anniversaryType: z.ZodOptional<z.ZodString>;
188
+ customAttributeKey: z.ZodOptional<z.ZodString>;
189
+ customAttributeValue: z.ZodOptional<z.ZodString>;
190
+ }, z.ZodTypeAny, "passthrough">>, "many">;
191
+ }, "strip", z.ZodTypeAny, {
192
+ criteria: z.objectOutputType<{
193
+ type: z.ZodString;
194
+ criterionId: z.ZodOptional<z.ZodString>;
195
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
196
+ days: z.ZodOptional<z.ZodNumber>;
197
+ fromDate: z.ZodOptional<z.ZodString>;
198
+ toDate: z.ZodOptional<z.ZodString>;
199
+ min: z.ZodOptional<z.ZodNumber>;
200
+ max: z.ZodOptional<z.ZodNumber>;
201
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
202
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
203
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
204
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
205
+ key: z.ZodString;
206
+ value: z.ZodString;
207
+ }, "strip", z.ZodTypeAny, {
208
+ value: string;
209
+ key: string;
210
+ }, {
211
+ value: string;
212
+ key: string;
213
+ }>, "many">>;
214
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
215
+ campaignId: z.ZodOptional<z.ZodString>;
216
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
217
+ anniversaryType: z.ZodOptional<z.ZodString>;
218
+ customAttributeKey: z.ZodOptional<z.ZodString>;
219
+ customAttributeValue: z.ZodOptional<z.ZodString>;
220
+ }, z.ZodTypeAny, "passthrough">[];
221
+ segmentPartId?: string | undefined;
222
+ }, {
223
+ criteria: z.objectInputType<{
224
+ type: z.ZodString;
225
+ criterionId: z.ZodOptional<z.ZodString>;
226
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
227
+ days: z.ZodOptional<z.ZodNumber>;
228
+ fromDate: z.ZodOptional<z.ZodString>;
229
+ toDate: z.ZodOptional<z.ZodString>;
230
+ min: z.ZodOptional<z.ZodNumber>;
231
+ max: z.ZodOptional<z.ZodNumber>;
232
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
233
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
234
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
235
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
236
+ key: z.ZodString;
237
+ value: z.ZodString;
238
+ }, "strip", z.ZodTypeAny, {
239
+ value: string;
240
+ key: string;
241
+ }, {
242
+ value: string;
243
+ key: string;
244
+ }>, "many">>;
245
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
246
+ campaignId: z.ZodOptional<z.ZodString>;
247
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
248
+ anniversaryType: z.ZodOptional<z.ZodString>;
249
+ customAttributeKey: z.ZodOptional<z.ZodString>;
250
+ customAttributeValue: z.ZodOptional<z.ZodString>;
251
+ }, z.ZodTypeAny, "passthrough">[];
252
+ segmentPartId?: string | undefined;
253
+ }>;
254
+ export type SegmentPart = z.infer<typeof SegmentPartSchema>;
255
+ /**
256
+ * Main Segment Schema.
257
+ * Represents a complete segment with all parts and criteria.
258
+ */
259
+ export declare const SegmentSchema: z.ZodObject<{
260
+ segmentId: z.ZodString;
261
+ name: z.ZodString;
262
+ description: z.ZodOptional<z.ZodString>;
263
+ active: z.ZodBoolean;
264
+ customersCount: z.ZodOptional<z.ZodNumber>;
265
+ calculatedAt: z.ZodOptional<z.ZodString>;
266
+ parts: z.ZodArray<z.ZodObject<{
267
+ segmentPartId: z.ZodOptional<z.ZodString>;
268
+ criteria: z.ZodArray<z.ZodObject<{
269
+ type: z.ZodString;
270
+ criterionId: z.ZodOptional<z.ZodString>;
271
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
272
+ days: z.ZodOptional<z.ZodNumber>;
273
+ fromDate: z.ZodOptional<z.ZodString>;
274
+ toDate: z.ZodOptional<z.ZodString>;
275
+ min: z.ZodOptional<z.ZodNumber>;
276
+ max: z.ZodOptional<z.ZodNumber>;
277
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
278
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
279
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
280
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
281
+ key: z.ZodString;
282
+ value: z.ZodString;
283
+ }, "strip", z.ZodTypeAny, {
284
+ value: string;
285
+ key: string;
286
+ }, {
287
+ value: string;
288
+ key: string;
289
+ }>, "many">>;
290
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
291
+ campaignId: z.ZodOptional<z.ZodString>;
292
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
293
+ anniversaryType: z.ZodOptional<z.ZodString>;
294
+ customAttributeKey: z.ZodOptional<z.ZodString>;
295
+ customAttributeValue: z.ZodOptional<z.ZodString>;
296
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
297
+ type: z.ZodString;
298
+ criterionId: z.ZodOptional<z.ZodString>;
299
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
300
+ days: z.ZodOptional<z.ZodNumber>;
301
+ fromDate: z.ZodOptional<z.ZodString>;
302
+ toDate: z.ZodOptional<z.ZodString>;
303
+ min: z.ZodOptional<z.ZodNumber>;
304
+ max: z.ZodOptional<z.ZodNumber>;
305
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
306
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
307
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
308
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
309
+ key: z.ZodString;
310
+ value: z.ZodString;
311
+ }, "strip", z.ZodTypeAny, {
312
+ value: string;
313
+ key: string;
314
+ }, {
315
+ value: string;
316
+ key: string;
317
+ }>, "many">>;
318
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
319
+ campaignId: z.ZodOptional<z.ZodString>;
320
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
321
+ anniversaryType: z.ZodOptional<z.ZodString>;
322
+ customAttributeKey: z.ZodOptional<z.ZodString>;
323
+ customAttributeValue: z.ZodOptional<z.ZodString>;
324
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
325
+ type: z.ZodString;
326
+ criterionId: z.ZodOptional<z.ZodString>;
327
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
328
+ days: z.ZodOptional<z.ZodNumber>;
329
+ fromDate: z.ZodOptional<z.ZodString>;
330
+ toDate: z.ZodOptional<z.ZodString>;
331
+ min: z.ZodOptional<z.ZodNumber>;
332
+ max: z.ZodOptional<z.ZodNumber>;
333
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
334
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
335
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
336
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
337
+ key: z.ZodString;
338
+ value: z.ZodString;
339
+ }, "strip", z.ZodTypeAny, {
340
+ value: string;
341
+ key: string;
342
+ }, {
343
+ value: string;
344
+ key: string;
345
+ }>, "many">>;
346
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
347
+ campaignId: z.ZodOptional<z.ZodString>;
348
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
349
+ anniversaryType: z.ZodOptional<z.ZodString>;
350
+ customAttributeKey: z.ZodOptional<z.ZodString>;
351
+ customAttributeValue: z.ZodOptional<z.ZodString>;
352
+ }, z.ZodTypeAny, "passthrough">>, "many">;
353
+ }, "strip", z.ZodTypeAny, {
354
+ criteria: z.objectOutputType<{
355
+ type: z.ZodString;
356
+ criterionId: z.ZodOptional<z.ZodString>;
357
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
358
+ days: z.ZodOptional<z.ZodNumber>;
359
+ fromDate: z.ZodOptional<z.ZodString>;
360
+ toDate: z.ZodOptional<z.ZodString>;
361
+ min: z.ZodOptional<z.ZodNumber>;
362
+ max: z.ZodOptional<z.ZodNumber>;
363
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
364
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
365
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
366
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
367
+ key: z.ZodString;
368
+ value: z.ZodString;
369
+ }, "strip", z.ZodTypeAny, {
370
+ value: string;
371
+ key: string;
372
+ }, {
373
+ value: string;
374
+ key: string;
375
+ }>, "many">>;
376
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
377
+ campaignId: z.ZodOptional<z.ZodString>;
378
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
379
+ anniversaryType: z.ZodOptional<z.ZodString>;
380
+ customAttributeKey: z.ZodOptional<z.ZodString>;
381
+ customAttributeValue: z.ZodOptional<z.ZodString>;
382
+ }, z.ZodTypeAny, "passthrough">[];
383
+ segmentPartId?: string | undefined;
384
+ }, {
385
+ criteria: z.objectInputType<{
386
+ type: z.ZodString;
387
+ criterionId: z.ZodOptional<z.ZodString>;
388
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
389
+ days: z.ZodOptional<z.ZodNumber>;
390
+ fromDate: z.ZodOptional<z.ZodString>;
391
+ toDate: z.ZodOptional<z.ZodString>;
392
+ min: z.ZodOptional<z.ZodNumber>;
393
+ max: z.ZodOptional<z.ZodNumber>;
394
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
395
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
396
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
397
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
398
+ key: z.ZodString;
399
+ value: z.ZodString;
400
+ }, "strip", z.ZodTypeAny, {
401
+ value: string;
402
+ key: string;
403
+ }, {
404
+ value: string;
405
+ key: string;
406
+ }>, "many">>;
407
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
408
+ campaignId: z.ZodOptional<z.ZodString>;
409
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
410
+ anniversaryType: z.ZodOptional<z.ZodString>;
411
+ customAttributeKey: z.ZodOptional<z.ZodString>;
412
+ customAttributeValue: z.ZodOptional<z.ZodString>;
413
+ }, z.ZodTypeAny, "passthrough">[];
414
+ segmentPartId?: string | undefined;
415
+ }>, "many">;
416
+ createdAt: z.ZodOptional<z.ZodString>;
417
+ averageTransactionAmount: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
418
+ averageTransactions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
419
+ averageClv: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
420
+ }, "strip", z.ZodTypeAny, {
421
+ name: string;
422
+ active: boolean;
423
+ segmentId: string;
424
+ parts: {
425
+ criteria: z.objectOutputType<{
426
+ type: z.ZodString;
427
+ criterionId: z.ZodOptional<z.ZodString>;
428
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
429
+ days: z.ZodOptional<z.ZodNumber>;
430
+ fromDate: z.ZodOptional<z.ZodString>;
431
+ toDate: z.ZodOptional<z.ZodString>;
432
+ min: z.ZodOptional<z.ZodNumber>;
433
+ max: z.ZodOptional<z.ZodNumber>;
434
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
435
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
436
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
437
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
438
+ key: z.ZodString;
439
+ value: z.ZodString;
440
+ }, "strip", z.ZodTypeAny, {
441
+ value: string;
442
+ key: string;
443
+ }, {
444
+ value: string;
445
+ key: string;
446
+ }>, "many">>;
447
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
448
+ campaignId: z.ZodOptional<z.ZodString>;
449
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
450
+ anniversaryType: z.ZodOptional<z.ZodString>;
451
+ customAttributeKey: z.ZodOptional<z.ZodString>;
452
+ customAttributeValue: z.ZodOptional<z.ZodString>;
453
+ }, z.ZodTypeAny, "passthrough">[];
454
+ segmentPartId?: string | undefined;
455
+ }[];
456
+ createdAt?: string | undefined;
457
+ description?: string | undefined;
458
+ customersCount?: number | undefined;
459
+ calculatedAt?: string | undefined;
460
+ averageTransactionAmount?: string | number | undefined;
461
+ averageTransactions?: string | number | undefined;
462
+ averageClv?: string | number | undefined;
463
+ }, {
464
+ name: string;
465
+ active: boolean;
466
+ segmentId: string;
467
+ parts: {
468
+ criteria: z.objectInputType<{
469
+ type: z.ZodString;
470
+ criterionId: z.ZodOptional<z.ZodString>;
471
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
472
+ days: z.ZodOptional<z.ZodNumber>;
473
+ fromDate: z.ZodOptional<z.ZodString>;
474
+ toDate: z.ZodOptional<z.ZodString>;
475
+ min: z.ZodOptional<z.ZodNumber>;
476
+ max: z.ZodOptional<z.ZodNumber>;
477
+ posIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
478
+ skus: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
479
+ makers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
480
+ labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
481
+ key: z.ZodString;
482
+ value: z.ZodString;
483
+ }, "strip", z.ZodTypeAny, {
484
+ value: string;
485
+ key: string;
486
+ }, {
487
+ value: string;
488
+ key: string;
489
+ }>, "many">>;
490
+ tierIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
491
+ campaignId: z.ZodOptional<z.ZodString>;
492
+ countries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
493
+ anniversaryType: z.ZodOptional<z.ZodString>;
494
+ customAttributeKey: z.ZodOptional<z.ZodString>;
495
+ customAttributeValue: z.ZodOptional<z.ZodString>;
496
+ }, z.ZodTypeAny, "passthrough">[];
497
+ segmentPartId?: string | undefined;
498
+ }[];
499
+ createdAt?: string | undefined;
500
+ description?: string | undefined;
501
+ customersCount?: number | undefined;
502
+ calculatedAt?: string | undefined;
503
+ averageTransactionAmount?: string | number | undefined;
504
+ averageTransactions?: string | number | undefined;
505
+ averageClv?: string | number | undefined;
506
+ }>;
507
+ export type Segment = z.infer<typeof SegmentSchema>;
508
+ /**
509
+ * Segment List Item Schema.
510
+ * Simplified representation for list responses.
511
+ */
512
+ export declare const SegmentListItemSchema: z.ZodObject<{
513
+ segmentId: z.ZodString;
514
+ name: z.ZodString;
515
+ description: z.ZodOptional<z.ZodString>;
516
+ active: z.ZodBoolean;
517
+ customersCount: z.ZodOptional<z.ZodNumber>;
518
+ createdAt: z.ZodOptional<z.ZodString>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ name: string;
521
+ active: boolean;
522
+ segmentId: string;
523
+ createdAt?: string | undefined;
524
+ description?: string | undefined;
525
+ customersCount?: number | undefined;
526
+ }, {
527
+ name: string;
528
+ active: boolean;
529
+ segmentId: string;
530
+ createdAt?: string | undefined;
531
+ description?: string | undefined;
532
+ customersCount?: number | undefined;
533
+ }>;
534
+ export type SegmentListItem = z.infer<typeof SegmentListItemSchema>;
535
+ /**
536
+ * Segment Create Input Schema.
537
+ * Matches the POST /api/{storeCode}/segment body structure.
538
+ * IMPORTANT: Request must be wrapped as { segment: {...} }
539
+ */
540
+ export declare const SegmentCreateInputSchema: z.ZodObject<{
541
+ name: z.ZodString;
542
+ description: z.ZodOptional<z.ZodString>;
543
+ active: z.ZodOptional<z.ZodBoolean>;
544
+ parts: z.ZodArray<z.ZodObject<{
545
+ segmentPartId: z.ZodOptional<z.ZodString>;
546
+ criteria: z.ZodArray<z.ZodObject<{
547
+ type: z.ZodString;
548
+ criterionId: z.ZodOptional<z.ZodString>;
549
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
550
+ type: z.ZodString;
551
+ criterionId: z.ZodOptional<z.ZodString>;
552
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
553
+ type: z.ZodString;
554
+ criterionId: z.ZodOptional<z.ZodString>;
555
+ }, z.ZodTypeAny, "passthrough">>, "many">;
556
+ }, "strip", z.ZodTypeAny, {
557
+ criteria: z.objectOutputType<{
558
+ type: z.ZodString;
559
+ criterionId: z.ZodOptional<z.ZodString>;
560
+ }, z.ZodTypeAny, "passthrough">[];
561
+ segmentPartId?: string | undefined;
562
+ }, {
563
+ criteria: z.objectInputType<{
564
+ type: z.ZodString;
565
+ criterionId: z.ZodOptional<z.ZodString>;
566
+ }, z.ZodTypeAny, "passthrough">[];
567
+ segmentPartId?: string | undefined;
568
+ }>, "many">;
569
+ }, "strip", z.ZodTypeAny, {
570
+ name: string;
571
+ parts: {
572
+ criteria: z.objectOutputType<{
573
+ type: z.ZodString;
574
+ criterionId: z.ZodOptional<z.ZodString>;
575
+ }, z.ZodTypeAny, "passthrough">[];
576
+ segmentPartId?: string | undefined;
577
+ }[];
578
+ active?: boolean | undefined;
579
+ description?: string | undefined;
580
+ }, {
581
+ name: string;
582
+ parts: {
583
+ criteria: z.objectInputType<{
584
+ type: z.ZodString;
585
+ criterionId: z.ZodOptional<z.ZodString>;
586
+ }, z.ZodTypeAny, "passthrough">[];
587
+ segmentPartId?: string | undefined;
588
+ }[];
589
+ active?: boolean | undefined;
590
+ description?: string | undefined;
591
+ }>;
592
+ export type SegmentCreateInput = z.infer<typeof SegmentCreateInputSchema>;