@wix/auto_sdk_benefit-programs_pool-definition-items 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 (52) hide show
  1. package/build/cjs/index.d.ts +25 -0
  2. package/build/cjs/index.js +203 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +543 -0
  5. package/build/cjs/index.typings.js +180 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +507 -0
  8. package/build/cjs/meta.js +154 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/schemas.d.ts +26 -0
  11. package/build/cjs/schemas.js +87 -0
  12. package/build/cjs/schemas.js.map +1 -0
  13. package/build/es/index.d.mts +25 -0
  14. package/build/es/index.mjs +172 -0
  15. package/build/es/index.mjs.map +1 -0
  16. package/build/es/index.typings.d.mts +543 -0
  17. package/build/es/index.typings.mjs +149 -0
  18. package/build/es/index.typings.mjs.map +1 -0
  19. package/build/es/meta.d.mts +507 -0
  20. package/build/es/meta.mjs +123 -0
  21. package/build/es/meta.mjs.map +1 -0
  22. package/build/es/package.json +3 -0
  23. package/build/es/schemas.d.mts +26 -0
  24. package/build/es/schemas.mjs +47 -0
  25. package/build/es/schemas.mjs.map +1 -0
  26. package/build/internal/cjs/index.d.ts +25 -0
  27. package/build/internal/cjs/index.js +203 -0
  28. package/build/internal/cjs/index.js.map +1 -0
  29. package/build/internal/cjs/index.typings.d.ts +574 -0
  30. package/build/internal/cjs/index.typings.js +180 -0
  31. package/build/internal/cjs/index.typings.js.map +1 -0
  32. package/build/internal/cjs/meta.d.ts +507 -0
  33. package/build/internal/cjs/meta.js +154 -0
  34. package/build/internal/cjs/meta.js.map +1 -0
  35. package/build/internal/cjs/schemas.d.ts +26 -0
  36. package/build/internal/cjs/schemas.js +87 -0
  37. package/build/internal/cjs/schemas.js.map +1 -0
  38. package/build/internal/es/index.d.mts +25 -0
  39. package/build/internal/es/index.mjs +172 -0
  40. package/build/internal/es/index.mjs.map +1 -0
  41. package/build/internal/es/index.typings.d.mts +574 -0
  42. package/build/internal/es/index.typings.mjs +149 -0
  43. package/build/internal/es/index.typings.mjs.map +1 -0
  44. package/build/internal/es/meta.d.mts +507 -0
  45. package/build/internal/es/meta.mjs +123 -0
  46. package/build/internal/es/meta.mjs.map +1 -0
  47. package/build/internal/es/schemas.d.mts +26 -0
  48. package/build/internal/es/schemas.mjs +47 -0
  49. package/build/internal/es/schemas.mjs.map +1 -0
  50. package/meta/package.json +3 -0
  51. package/package.json +61 -0
  52. package/schemas/package.json +3 -0
@@ -0,0 +1,574 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
3
+ interface PoolDefinitionItem {
4
+ /**
5
+ * Benefit item ID.
6
+ * @format GUID
7
+ * @readonly
8
+ */
9
+ _id?: string;
10
+ /**
11
+ * Revision number, which increments by 1 each time the benefit item is updated.
12
+ * To prevent conflicting changes, the current revision must be passed when updating the item.
13
+ *
14
+ * Ignored when creating an item.
15
+ * @readonly
16
+ */
17
+ revision?: string | null;
18
+ /**
19
+ * Date and time the item was created.
20
+ * @readonly
21
+ */
22
+ _createdDate?: Date | null;
23
+ /**
24
+ * Date and time the item was updated.
25
+ * @readonly
26
+ */
27
+ _updatedDate?: Date | null;
28
+ /**
29
+ * External item ID assigned by the provider of the items.
30
+ *
31
+ * For example, if the benefit items are products, this ID corresponds to the specific product ID in the supplier's system.
32
+ * @format GUID
33
+ * @immutable
34
+ * @readonly
35
+ */
36
+ externalId?: string;
37
+ /**
38
+ * Item category. Groups benefit items together for organization and management purposes. For example, classes, posts, groups.
39
+ * @maxLength 20
40
+ * @immutable
41
+ * @readonly
42
+ */
43
+ category?: string;
44
+ /**
45
+ * ID of the application providing the benefit item.
46
+ *
47
+ * ID of the external application supplying the items. Each item's external ID is unique to its respective provider's application.
48
+ * @format GUID
49
+ * @immutable
50
+ * @readonly
51
+ */
52
+ providerAppId?: string;
53
+ /**
54
+ * Module name of the item provider's application that originated the items.
55
+ *
56
+ * For example, `store-inventory` or `fitness-resources`.
57
+ * @minLength 1
58
+ * @maxLength 20
59
+ * @immutable
60
+ * @readonly
61
+ */
62
+ namespace?: string;
63
+ /**
64
+ * Pool definition id
65
+ * @format GUID
66
+ * @immutable
67
+ * @readonly
68
+ */
69
+ poolDefinitionId?: string;
70
+ /**
71
+ * Item set ID.
72
+ * @format GUID
73
+ * @immutable
74
+ * @readonly
75
+ */
76
+ itemSetId?: string;
77
+ /**
78
+ * Additional data related to the benefit item.
79
+ * @internal
80
+ * @readonly
81
+ */
82
+ poolDefinition?: PoolDefinitionInfo;
83
+ /**
84
+ * Program definitions associated with the pool definition.
85
+ * @internal
86
+ * @maxSize 20
87
+ * @readonly
88
+ */
89
+ programDefinitions?: ProgramDefinitionInfo[];
90
+ /**
91
+ * Item set ID.
92
+ * @format GUID
93
+ * @immutable
94
+ * @readonly
95
+ */
96
+ itemId?: string;
97
+ /**
98
+ * Benefit information
99
+ * @internal
100
+ * @readonly
101
+ */
102
+ benefitInfo?: BenefitInfo;
103
+ /**
104
+ * Additional item data related to the benefit item.
105
+ * @internal
106
+ * @readonly
107
+ */
108
+ itemInfo?: ItemInfo;
109
+ /**
110
+ * Unique identifier for the benefit associated with this item.
111
+ * @maxLength 64
112
+ * @immutable
113
+ * @readonly
114
+ */
115
+ benefitKey?: string;
116
+ }
117
+ interface PoolDefinitionInfo {
118
+ /**
119
+ * Pool definition name.
120
+ * @maxLength 64
121
+ */
122
+ displayName?: string;
123
+ /**
124
+ * Pool definition description.
125
+ * @maxLength 450
126
+ */
127
+ description?: string | null;
128
+ /**
129
+ * Credit settings.
130
+ *
131
+ * If this object is empty, you can't set a price for the benefit.
132
+ */
133
+ creditConfiguration?: CreditConfiguration;
134
+ }
135
+ interface CreditConfiguration {
136
+ /**
137
+ * Initial available amount for associated balances.
138
+ * @decimalValue options { gte:0, maxScale:4 }
139
+ */
140
+ amount?: string;
141
+ /**
142
+ * Credit unit display name.
143
+ * @maxLength 32
144
+ */
145
+ unitDisplayName?: string | null;
146
+ /**
147
+ * Credit unit type.
148
+ * @internal
149
+ * @maxLength 16
150
+ */
151
+ unitType?: string | null;
152
+ }
153
+ interface ProgramDefinitionInfo {
154
+ /**
155
+ * Program definition id
156
+ * @format GUID
157
+ */
158
+ _id?: string;
159
+ /**
160
+ * Program definition external id
161
+ * @format GUID
162
+ */
163
+ externalId?: string | null;
164
+ /**
165
+ * Program definition name
166
+ * @maxLength 64
167
+ */
168
+ displayName?: string | null;
169
+ /**
170
+ * Program definition description.
171
+ * @maxLength 450
172
+ */
173
+ description?: string | null;
174
+ }
175
+ interface BenefitInfo {
176
+ /**
177
+ * Price of the benefit in credits. The price is the same for all of this benefit's items.
178
+ * @decimalValue options { gte:0, maxScale:4 }
179
+ */
180
+ price?: string | null;
181
+ /**
182
+ * Benefit name.
183
+ * @maxLength 40
184
+ */
185
+ displayName?: string | null;
186
+ /**
187
+ * Benefit description.
188
+ * @maxLength 255
189
+ */
190
+ description?: string | null;
191
+ }
192
+ interface ItemInfo {
193
+ /**
194
+ * Item display name.
195
+ * @maxLength 64
196
+ */
197
+ displayName?: string | null;
198
+ }
199
+ interface QueryPoolDefinitionItemsRequest {
200
+ /** Query to select benefit items. */
201
+ query?: CursorQuery;
202
+ /**
203
+ * Fields to be included in the response.
204
+ * @maxSize 4
205
+ */
206
+ fields?: RequestedFieldsWithLiterals[];
207
+ }
208
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
209
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
210
+ cursorPaging?: CursorPaging;
211
+ /**
212
+ * Filter object in the following format:
213
+ * `"filter" : {
214
+ * "fieldName1": "value1",
215
+ * "fieldName2":{"$operator":"value2"}
216
+ * }`
217
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
218
+ */
219
+ filter?: Record<string, any> | null;
220
+ /**
221
+ * Sort object in the following format:
222
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
223
+ * @maxSize 5
224
+ */
225
+ sort?: Sorting[];
226
+ }
227
+ /** @oneof */
228
+ interface CursorQueryPagingMethodOneOf {
229
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
230
+ cursorPaging?: CursorPaging;
231
+ }
232
+ interface Sorting {
233
+ /**
234
+ * Name of the field to sort by.
235
+ * @maxLength 512
236
+ */
237
+ fieldName?: string;
238
+ /** Sort order. */
239
+ order?: SortOrderWithLiterals;
240
+ }
241
+ declare enum SortOrder {
242
+ ASC = "ASC",
243
+ DESC = "DESC"
244
+ }
245
+ /** @enumType */
246
+ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
247
+ interface CursorPaging {
248
+ /**
249
+ * Maximum number of items to return in the results.
250
+ * @max 1000
251
+ */
252
+ limit?: number | null;
253
+ /**
254
+ * Pointer to the next or previous page in the list of results.
255
+ *
256
+ * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
257
+ * Not relevant for the first request.
258
+ * @maxLength 16000
259
+ */
260
+ cursor?: string | null;
261
+ }
262
+ declare enum RequestedFields {
263
+ POOL_DEFINITION = "POOL_DEFINITION",
264
+ PROGRAM_DEFINITION = "PROGRAM_DEFINITION",
265
+ BENEFIT = "BENEFIT",
266
+ ITEM = "ITEM"
267
+ }
268
+ /** @enumType */
269
+ type RequestedFieldsWithLiterals = RequestedFields | 'POOL_DEFINITION' | 'PROGRAM_DEFINITION' | 'BENEFIT' | 'ITEM';
270
+ interface QueryPoolDefinitionItemsResponse {
271
+ /** List of items. */
272
+ poolDefinitionItems?: PoolDefinitionItem[];
273
+ /** Metadata for paginated results. */
274
+ metadata?: CursorPagingMetadata;
275
+ }
276
+ interface CursorPagingMetadata {
277
+ /** Number of items returned in the response. */
278
+ count?: number | null;
279
+ /** Cursor strings that point to the next page, previous page, or both. */
280
+ cursors?: Cursors;
281
+ /**
282
+ * Whether there are more pages to retrieve following the current page.
283
+ *
284
+ * + `true`: Another page of results can be retrieved.
285
+ * + `false`: This is the last page.
286
+ */
287
+ hasNext?: boolean | null;
288
+ }
289
+ interface Cursors {
290
+ /**
291
+ * Cursor string pointing to the next page in the list of results.
292
+ * @maxLength 16000
293
+ */
294
+ next?: string | null;
295
+ /**
296
+ * Cursor pointing to the previous page in the list of results.
297
+ * @maxLength 16000
298
+ */
299
+ prev?: string | null;
300
+ }
301
+ interface InvalidatePoolDefinitionItemsRequest {
302
+ /**
303
+ * The pool definition ID whose items are to be invalidated
304
+ * @format GUID
305
+ */
306
+ poolDefinitionId?: string;
307
+ /**
308
+ * List of item set ids whose items are to be invalidated
309
+ * @maxSize 10
310
+ * @format GUID
311
+ */
312
+ itemSetIds?: string[];
313
+ }
314
+ interface InvalidatePoolDefinitionItemsResponse {
315
+ }
316
+ interface RemoveItemsFromBenefitRequest {
317
+ /**
318
+ * Items to remove from the benefit's item set.
319
+ * @minSize 1
320
+ * @maxSize 100
321
+ */
322
+ itemReferences: ItemReference[];
323
+ /**
324
+ * ID of the pool definition associated with the benefit.
325
+ * @format GUID
326
+ */
327
+ poolDefinitionId: string;
328
+ /**
329
+ * Key identifying the benefit within the pool definition.
330
+ * @maxLength 64
331
+ */
332
+ benefitKey: string;
333
+ }
334
+ interface ItemReference {
335
+ /**
336
+ * External item ID assigned by the provider.
337
+ * @format GUID
338
+ */
339
+ externalId?: string;
340
+ /**
341
+ * Item category.
342
+ * @maxLength 20
343
+ */
344
+ category?: string;
345
+ }
346
+ interface RemoveItemsFromBenefitResponse {
347
+ }
348
+ interface AddItemsToBenefitRequest {
349
+ /**
350
+ * Items to add to the benefit's item set.
351
+ * @minSize 1
352
+ * @maxSize 100
353
+ */
354
+ itemReferences: ItemReference[];
355
+ /**
356
+ * ID of the pool definition associated with the benefit.
357
+ * @format GUID
358
+ */
359
+ poolDefinitionId: string;
360
+ /**
361
+ * Key identifying the benefit within the pool definition.
362
+ * @maxLength 64
363
+ */
364
+ benefitKey: string;
365
+ }
366
+ interface AddItemsToBenefitResponse {
367
+ }
368
+ interface DomainEvent extends DomainEventBodyOneOf {
369
+ createdEvent?: EntityCreatedEvent;
370
+ updatedEvent?: EntityUpdatedEvent;
371
+ deletedEvent?: EntityDeletedEvent;
372
+ actionEvent?: ActionEvent;
373
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
374
+ _id?: string;
375
+ /**
376
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
377
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
378
+ */
379
+ entityFqdn?: string;
380
+ /**
381
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
382
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
383
+ */
384
+ slug?: string;
385
+ /** ID of the entity associated with the event. */
386
+ entityId?: string;
387
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
388
+ eventTime?: Date | null;
389
+ /**
390
+ * Whether the event was triggered as a result of a privacy regulation application
391
+ * (for example, GDPR).
392
+ */
393
+ triggeredByAnonymizeRequest?: boolean | null;
394
+ /** If present, indicates the action that triggered the event. */
395
+ originatedFrom?: string | null;
396
+ /**
397
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
398
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
399
+ */
400
+ entityEventSequence?: string | null;
401
+ }
402
+ /** @oneof */
403
+ interface DomainEventBodyOneOf {
404
+ createdEvent?: EntityCreatedEvent;
405
+ updatedEvent?: EntityUpdatedEvent;
406
+ deletedEvent?: EntityDeletedEvent;
407
+ actionEvent?: ActionEvent;
408
+ }
409
+ interface EntityCreatedEvent {
410
+ entity?: string;
411
+ }
412
+ interface RestoreInfo {
413
+ deletedDate?: Date | null;
414
+ }
415
+ interface EntityUpdatedEvent {
416
+ /**
417
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
418
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
419
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
420
+ */
421
+ currentEntity?: string;
422
+ }
423
+ interface EntityDeletedEvent {
424
+ /** Entity that was deleted. */
425
+ deletedEntity?: string | null;
426
+ }
427
+ interface ActionEvent {
428
+ body?: string;
429
+ }
430
+ interface MessageEnvelope {
431
+ /**
432
+ * App instance ID.
433
+ * @format GUID
434
+ */
435
+ instanceId?: string | null;
436
+ /**
437
+ * Event type.
438
+ * @maxLength 150
439
+ */
440
+ eventType?: string;
441
+ /** The identification type and identity data. */
442
+ identity?: IdentificationData;
443
+ /** Stringify payload. */
444
+ data?: string;
445
+ /** Details related to the account */
446
+ accountInfo?: AccountInfo;
447
+ }
448
+ interface IdentificationData extends IdentificationDataIdOneOf {
449
+ /**
450
+ * ID of a site visitor that has not logged in to the site.
451
+ * @format GUID
452
+ */
453
+ anonymousVisitorId?: string;
454
+ /**
455
+ * ID of a site visitor that has logged in to the site.
456
+ * @format GUID
457
+ */
458
+ memberId?: string;
459
+ /**
460
+ * ID of a Wix user (site owner, contributor, etc.).
461
+ * @format GUID
462
+ */
463
+ wixUserId?: string;
464
+ /**
465
+ * ID of an app.
466
+ * @format GUID
467
+ */
468
+ appId?: string;
469
+ /** @readonly */
470
+ identityType?: WebhookIdentityTypeWithLiterals;
471
+ }
472
+ /** @oneof */
473
+ interface IdentificationDataIdOneOf {
474
+ /**
475
+ * ID of a site visitor that has not logged in to the site.
476
+ * @format GUID
477
+ */
478
+ anonymousVisitorId?: string;
479
+ /**
480
+ * ID of a site visitor that has logged in to the site.
481
+ * @format GUID
482
+ */
483
+ memberId?: string;
484
+ /**
485
+ * ID of a Wix user (site owner, contributor, etc.).
486
+ * @format GUID
487
+ */
488
+ wixUserId?: string;
489
+ /**
490
+ * ID of an app.
491
+ * @format GUID
492
+ */
493
+ appId?: string;
494
+ }
495
+ declare enum WebhookIdentityType {
496
+ UNKNOWN = "UNKNOWN",
497
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
498
+ MEMBER = "MEMBER",
499
+ WIX_USER = "WIX_USER",
500
+ APP = "APP"
501
+ }
502
+ /** @enumType */
503
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
504
+ interface AccountInfo {
505
+ /**
506
+ * ID of the Wix account associated with the event.
507
+ * @format GUID
508
+ */
509
+ accountId?: string | null;
510
+ /**
511
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
512
+ * @format GUID
513
+ */
514
+ parentAccountId?: string | null;
515
+ /**
516
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
517
+ * @format GUID
518
+ */
519
+ siteId?: string | null;
520
+ }
521
+ /**
522
+ * Removes items from a benefit's item set, resolved by pool definition ID and benefit key.
523
+ * @param itemReferences - Items to remove from the benefit's item set.
524
+ * @public
525
+ * @documentationMaturity preview
526
+ * @requiredField itemReferences
527
+ * @requiredField itemReferences.externalId
528
+ * @requiredField options
529
+ * @requiredField options.benefitKey
530
+ * @requiredField options.poolDefinitionId
531
+ * @permissionId benefit_programs:v1:pool_definition_item:remove_items_from_benefit
532
+ * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.RemoveItemsFromBenefit
533
+ */
534
+ declare function removeItemsFromBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<RemoveItemsFromBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<void>;
535
+ interface RemoveItemsFromBenefitOptions {
536
+ /**
537
+ * ID of the pool definition associated with the benefit.
538
+ * @format GUID
539
+ */
540
+ poolDefinitionId: string;
541
+ /**
542
+ * Key identifying the benefit within the pool definition.
543
+ * @maxLength 64
544
+ */
545
+ benefitKey: string;
546
+ }
547
+ /**
548
+ * Adds items to a benefit's item set, resolved by pool definition ID and benefit key.
549
+ * @param itemReferences - Items to add to the benefit's item set.
550
+ * @public
551
+ * @documentationMaturity preview
552
+ * @requiredField itemReferences
553
+ * @requiredField itemReferences.externalId
554
+ * @requiredField options
555
+ * @requiredField options.benefitKey
556
+ * @requiredField options.poolDefinitionId
557
+ * @permissionId benefit_programs:v1:pool_definition_item:add_items_to_benefit
558
+ * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.AddItemsToBenefit
559
+ */
560
+ declare function addItemsToBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<AddItemsToBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<void>;
561
+ interface AddItemsToBenefitOptions {
562
+ /**
563
+ * ID of the pool definition associated with the benefit.
564
+ * @format GUID
565
+ */
566
+ poolDefinitionId: string;
567
+ /**
568
+ * Key identifying the benefit within the pool definition.
569
+ * @maxLength 64
570
+ */
571
+ benefitKey: string;
572
+ }
573
+
574
+ export { type AccountInfo, type ActionEvent, type AddItemsToBenefitOptions, type AddItemsToBenefitRequest, type AddItemsToBenefitResponse, type BenefitInfo, type CreditConfiguration, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type IdentificationData, type IdentificationDataIdOneOf, type InvalidatePoolDefinitionItemsRequest, type InvalidatePoolDefinitionItemsResponse, type ItemInfo, type ItemReference, type MessageEnvelope, type PoolDefinitionInfo, type PoolDefinitionItem, type ProgramDefinitionInfo, type QueryPoolDefinitionItemsRequest, type QueryPoolDefinitionItemsResponse, type RemoveItemsFromBenefitOptions, type RemoveItemsFromBenefitRequest, type RemoveItemsFromBenefitResponse, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, addItemsToBenefit, removeItemsFromBenefit };