@wix/auto_sdk_benefit-programs_programs 1.0.55 → 1.0.57

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 (38) hide show
  1. package/build/cjs/index.d.ts +8 -8
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/index.typings.d.ts +9 -9
  4. package/build/cjs/index.typings.js.map +1 -1
  5. package/build/es/index.d.mts +8 -8
  6. package/build/es/index.mjs.map +1 -1
  7. package/build/es/index.typings.d.mts +9 -9
  8. package/build/es/index.typings.mjs.map +1 -1
  9. package/build/internal/cjs/index.d.ts +8 -8
  10. package/build/internal/cjs/index.typings.d.ts +9 -9
  11. package/build/internal/es/index.d.mts +8 -8
  12. package/build/internal/es/index.typings.d.mts +9 -9
  13. package/package.json +4 -11
  14. package/build/cjs/schemas.d.ts +0 -467
  15. package/build/cjs/schemas.js +0 -917
  16. package/build/cjs/schemas.js.map +0 -1
  17. package/build/es/schemas.d.mts +0 -467
  18. package/build/es/schemas.mjs +0 -863
  19. package/build/es/schemas.mjs.map +0 -1
  20. package/build/internal/cjs/index.js +0 -856
  21. package/build/internal/cjs/index.js.map +0 -1
  22. package/build/internal/cjs/index.typings.js +0 -757
  23. package/build/internal/cjs/index.typings.js.map +0 -1
  24. package/build/internal/cjs/meta.js +0 -613
  25. package/build/internal/cjs/meta.js.map +0 -1
  26. package/build/internal/cjs/schemas.d.ts +0 -467
  27. package/build/internal/cjs/schemas.js +0 -917
  28. package/build/internal/cjs/schemas.js.map +0 -1
  29. package/build/internal/es/index.mjs +0 -817
  30. package/build/internal/es/index.mjs.map +0 -1
  31. package/build/internal/es/index.typings.mjs +0 -717
  32. package/build/internal/es/index.typings.mjs.map +0 -1
  33. package/build/internal/es/meta.mjs +0 -572
  34. package/build/internal/es/meta.mjs.map +0 -1
  35. package/build/internal/es/schemas.d.mts +0 -467
  36. package/build/internal/es/schemas.mjs +0 -863
  37. package/build/internal/es/schemas.mjs.map +0 -1
  38. package/schemas/package.json +0 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/benefit-programs-v1-program-programs.universal.ts","../../src/benefit-programs-v1-program-programs.http.ts","../../src/benefit-programs-v1-program-programs.public.ts","../../src/benefit-programs-v1-program-programs.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1Program from './benefit-programs-v1-program-programs.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\nexport interface Program {\n /**\n * Program ID.\n * @format GUID\n * @readonly\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program is updated.\n * To prevent conflicting changes, the current revision must be specified when updating the program.\n *\n * Ignored when creating a program.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * ID of the associated program definition.\n * @format GUID\n * @readonly\n * @immutable\n */\n programDefinitionId?: string | null;\n /**\n * Program status.\n * @readonly\n */\n status?: ProgramStatusWithLiterals;\n /**\n * Program beneficiary.\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Program name.\n *\n * You may want to use the same name that's used in the associated program definition, if it exists.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string | null;\n /**\n * Custom field data for the program object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n /**\n * Associated program definition information.\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Intended status of a program after the completion of an action.\n * @internal\n * @readonly\n */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\nexport enum ProgramStatus {\n /** Program is active. */\n ACTIVE = 'ACTIVE',\n /** Program is paused. It can be resumed. */\n PAUSED = 'PAUSED',\n /** Program has ended. It can't be resumed. */\n ENDED = 'ENDED',\n /** Program is being activated for the first time. This status exists for a short time during processing. */\n PROVISIONING = 'PROVISIONING',\n /** Program is being paused. This status exists for a short time during processing. */\n PAUSING = 'PAUSING',\n /** Program is being re-activated after being paused. This status exists for a short time during processing. */\n RESUMING = 'RESUMING',\n /** Program is being ended. This status exists for a short time during processing. */\n ENDING = 'ENDING',\n}\n\n/** @enumType */\nexport type ProgramStatusWithLiterals =\n | ProgramStatus\n | 'ACTIVE'\n | 'PAUSED'\n | 'ENDED'\n | 'PROVISIONING'\n | 'PAUSING'\n | 'RESUMING'\n | 'ENDING';\n\nexport interface CommonIdentificationData\n extends CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n /**\n * Identity type.\n * @internal\n * @readonly\n */\n identityType?: IdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\nexport enum IdentityType {\n /** Unknown type. This value is not used. */\n UNKNOWN = 'UNKNOWN',\n /** A site visitor who has not logged in. */\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n /** A logged-in site member. */\n MEMBER = 'MEMBER',\n /** A Wix account holder, such as a site owner or contributor. */\n WIX_USER = 'WIX_USER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ProgramDefinitionInfo {\n /**\n * Program definition ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Program definition external ID.\n * @format GUID\n * @readonly\n */\n externalId?: string | null;\n}\n\nexport interface ProgramProvisioned {\n /** Program which has been provisioned */\n program?: Program;\n}\n\nexport interface ProgramRenewed {\n /** Program which has been renewed */\n program?: Program;\n}\n\nexport interface ProgramEnded {\n /** Program which has been ended */\n program?: Program;\n}\n\nexport interface ProgramPaused {\n /** Program which has been paused */\n program?: Program;\n}\n\nexport interface ProgramResumed {\n /** Program which has been resumed */\n program?: Program;\n}\n\nexport interface ProgramTranslated {\n /** The translated program. */\n program?: Program;\n /**\n * The language code of the translation.\n * @maxLength 20\n * @format LANGUAGE_TAG\n */\n language?: string;\n}\n\nexport interface ProgramTranslationDeleted {\n /**\n * The ID of the program.\n * @format GUID\n */\n programId?: string;\n /**\n * The language code of the translation.\n * @maxLength 20\n * @format LANGUAGE_TAG\n */\n language?: string;\n}\n\n/** In case pool_definition_id is provided should test if it's part of a package. If it is, reject the request */\nexport interface ProvisionProgramRequest {\n /** The program definition or pool definition to use to provision the program. */\n poolDefinitionLookupId: PoolDefinitionLookupId;\n /** Program beneficiary. */\n beneficiary: CommonIdentificationData;\n /**\n * Initial program status.\n *\n * Default: `ACTIVE`\n */\n programStatus?: ProvisionProgramRequestProgramStatusWithLiterals;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program name.\n *\n * If you're provisioning the program from a program definition, you may want to use the same name that was used for the program definition.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n */\n externalProgramId: string;\n}\n\nexport interface PoolDefinitionLookupId extends PoolDefinitionLookupIdIdOneOf {\n /**\n * Pool definition ID.\n * @format GUID\n */\n poolDefinitionId?: string;\n /**\n * Program definition ID.\n * @format GUID\n */\n programDefinitionId?: string;\n}\n\n/** @oneof */\nexport interface PoolDefinitionLookupIdIdOneOf {\n /**\n * Pool definition ID.\n * @format GUID\n */\n poolDefinitionId?: string;\n /**\n * Program definition ID.\n * @format GUID\n */\n programDefinitionId?: string;\n}\n\nexport enum ProvisionProgramRequestProgramStatus {\n /** Program is active. */\n ACTIVE = 'ACTIVE',\n /** Program is paused. */\n PAUSED = 'PAUSED',\n}\n\n/** @enumType */\nexport type ProvisionProgramRequestProgramStatusWithLiterals =\n | ProvisionProgramRequestProgramStatus\n | 'ACTIVE'\n | 'PAUSED';\n\nexport interface ProvisionProgramResponse {\n /**\n * Job ID of the provisioning of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n /** Provisioned program. */\n program?: Program;\n}\n\nexport interface ProgramAlreadyExists {\n /**\n * Key of a program that already exists\n * @format GUID\n */\n externalProgramId?: string;\n /**\n * Key of a program that already exists\n * @format GUID\n */\n namespace?: string;\n}\n\n/** Updates the pool credit amount according to the configuration. */\nexport interface RenewProgramRequest {\n /**\n * ID of the program to renew.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface RenewProgramResponse {\n /**\n * Job ID of the program renewal. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface PauseProgramRequest {\n /**\n * ID of the program to pause.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface PauseProgramResponse {\n /**\n * Job ID of the pausing of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface ProgramStatusTransitionNotAllowed {\n /** Current status of the program */\n currentStatus?: ProgramStatusWithLiterals;\n /** Status to which the program is being transitioned */\n requestedStatus?: ProgramStatusWithLiterals;\n}\n\nexport interface ResumeProgramRequest {\n /**\n * ID of program to resume.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface ResumeProgramResponse {\n /**\n * Job ID of the resuming of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface EndProgramRequest {\n /**\n * ID of the program to end.\n * @format GUID\n */\n programId: string;\n}\n\nexport interface EndProgramResponse {\n /**\n * Job ID of the ending of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface UpdateProgramStatusRequest {\n /**\n * Program to update\n * @format GUID\n */\n programId?: string;\n /** Program revision */\n programRevision?: string;\n /** Status to update */\n status?: ProgramStatusWithLiterals;\n /** Status to update */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\nexport interface UpdateProgramStatusResponse {\n /** The updated Program */\n program?: Program;\n}\n\nexport interface UpsertMigratedProgramRequest {\n /**\n * Order id\n * @format GUID\n */\n orderId?: string;\n /**\n * Plan id\n * @format GUID\n */\n planId?: string;\n /**\n * Order member id\n * @format GUID\n */\n memberId?: string;\n /** Order status */\n status?: OrderStatusWithLiterals;\n /**\n * Plan name\n * @maxLength 64\n */\n planName?: string;\n}\n\nexport enum OrderStatus {\n UNKNOWN = 'UNKNOWN',\n ACTIVE = 'ACTIVE',\n PAUSED = 'PAUSED',\n ENDED = 'ENDED',\n}\n\n/** @enumType */\nexport type OrderStatusWithLiterals =\n | OrderStatus\n | 'UNKNOWN'\n | 'ACTIVE'\n | 'PAUSED'\n | 'ENDED';\n\nexport interface UpsertMigratedProgramResponse {\n /** Inserted or updated program */\n program?: Program;\n}\n\nexport interface UpdateProgramRequest {\n /** Program to update. */\n program: Program;\n /**\n * Explicit list of fields to update.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateProgramResponse {\n /** Updated program. */\n program?: Program;\n}\n\nexport interface GetProgramRequest {\n /**\n * ID of the program to retrieve.\n * @format GUID\n */\n programId: string;\n}\n\nexport interface GetProgramResponse {\n /** Retrieved program. */\n program?: Program;\n}\n\nexport interface QueryProgramsRequest {\n /** Filter, sort, and paging to apply to the query. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** 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`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n * See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language)\n * for more information.\n */\n filter?: Record<string, any> | null;\n /**\n * List of sort objects.\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** 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`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /**\n * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n *\n * Default: `ASC`\n */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n}\n\nexport enum SortOrder {\n /** Ascending sort order. */\n ASC = 'ASC',\n /** Descending sort order. */\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryProgramsResponse {\n /** List of retrieved programs. */\n programs?: Program[];\n /** Metadata for the paginated results. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetProgramByExternalIdAndNamespaceRequest {\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program's external ID.\n * @format GUID\n */\n externalId: string;\n}\n\nexport interface GetProgramByExternalIdAndNamespaceResponse {\n /** Retrieved program. */\n program?: Program;\n}\n\nexport interface HealProgramRequest {\n /**\n * ID of the program whose enrichments should be re-materialized.\n * @format GUID\n */\n programId?: string;\n}\n\nexport interface HealProgramResponse {}\n\nexport interface HealProgramTenantRequest {}\n\nexport interface HealProgramTenantResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type ProvisionProgramApplicationErrors =\n | {\n code?: 'PROGRAM_ALREADY_EXISTS';\n description?: string;\n data?: ProgramAlreadyExists;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type PauseProgramApplicationErrors =\n | {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n }\n | {\n code?: 'ALREADY_EXECUTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type ResumeProgramApplicationErrors =\n | {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n }\n | {\n code?: 'ALREADY_EXECUTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type EndProgramApplicationErrors = {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n};\n\n/**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n * @param poolDefinitionLookupId - The program definition or pool definition to use to provision the program.\n * @public\n * @requiredField options.beneficiary\n * @requiredField options.externalProgramId\n * @requiredField options.namespace\n * @requiredField poolDefinitionLookupId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_PROVISION\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.ProvisionProgram\n */\nexport async function provisionProgram(\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 2\n >\n): Promise<\n NonNullablePaths<\n ProvisionProgramResponse,\n | `jobId`\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 4\n > & {\n __applicationErrorsType?: ProvisionProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n poolDefinitionLookupId: poolDefinitionLookupId,\n beneficiary: options?.beneficiary,\n programStatus: options?.programStatus,\n namespace: options?.namespace,\n displayName: options?.displayName,\n externalProgramId: options?.externalProgramId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.provisionProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n poolDefinitionLookupId: '$[0]',\n beneficiary: '$[1].beneficiary',\n programStatus: '$[1].programStatus',\n namespace: '$[1].namespace',\n displayName: '$[1].displayName',\n externalProgramId: '$[1].externalProgramId',\n },\n singleArgumentUnchanged: false,\n },\n ['poolDefinitionLookupId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ProvisionProgramOptions {\n /** Program beneficiary. */\n beneficiary: CommonIdentificationData;\n /**\n * Initial program status.\n *\n * Default: `ACTIVE`\n */\n programStatus?: ProvisionProgramRequestProgramStatusWithLiterals;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program name.\n *\n * If you're provisioning the program from a program definition, you may want to use the same name that was used for the program definition.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n */\n externalProgramId: string;\n}\n\n/**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n * @param programId - ID of the program to renew.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_RENEW\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.RenewProgram\n */\nexport async function renewProgram(\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 2>\n): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.renewProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RenewProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed.\n * @param programId - ID of the program to pause.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_PAUSE\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.PauseProgram\n */\nexport async function pauseProgram(\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 2>\n): Promise<\n NonNullablePaths<PauseProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: PauseProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.pauseProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PauseProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n * @param programId - ID of program to resume.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_RESUME\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.ResumeProgram\n */\nexport async function resumeProgram(\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 2>\n): Promise<\n NonNullablePaths<ResumeProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: ResumeProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.resumeProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ResumeProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Ends the specified program.\n * @param programId - ID of the program to end.\n * @public\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_END\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.EndProgram\n */\nexport async function endProgram(programId: string): Promise<\n NonNullablePaths<EndProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: EndProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.endProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n * @param _id - Program ID.\n * @public\n * @requiredField _id\n * @requiredField program\n * @requiredField program.revision\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_UPDATE\n * @applicableIdentity APP\n * @returns Updated program.\n * @fqn wix.benefit_programs.v1.program.ProgramService.UpdateProgram\n */\nexport async function updateProgram(\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 2>\n): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n program: { ...program, id: _id },\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.updateProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.program!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { program: '$[1]' },\n explicitPathsToArguments: { 'program.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'program']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProgram {\n /**\n * Program ID.\n * @format GUID\n * @readonly\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program is updated.\n * To prevent conflicting changes, the current revision must be specified when updating the program.\n *\n * Ignored when creating a program.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * ID of the associated program definition.\n * @format GUID\n * @readonly\n * @immutable\n */\n programDefinitionId?: string | null;\n /**\n * Program status.\n * @readonly\n */\n status?: ProgramStatusWithLiterals;\n /**\n * Program beneficiary.\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Program name.\n *\n * You may want to use the same name that's used in the associated program definition, if it exists.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string | null;\n /**\n * Custom field data for the program object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n /**\n * Associated program definition information.\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Intended status of a program after the completion of an action.\n * @internal\n * @readonly\n */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\n/**\n * Retrieves a program.\n * @param programId - ID of the program to retrieve.\n * @public\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @returns Retrieved program.\n * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgram\n */\nexport async function getProgram(\n programId: string\n): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.getProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.program!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n * @public\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.QueryPrograms\n */\nexport function queryPrograms(): ProgramsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Program,\n 'CURSOR',\n QueryProgramsRequest,\n QueryProgramsResponse\n >({\n func: async (payload: QueryProgramsRequest) => {\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.queryPrograms(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryProgramsRequest['query']) => {\n const args = [query, {}] as [QueryProgramsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryProgramsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.programs,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface ProgramsQueryResult extends QueryCursorResult {\n items: Program[];\n query: ProgramsQueryBuilder;\n next: () => Promise<ProgramsQueryResult>;\n prev: () => Promise<ProgramsQueryResult>;\n}\n\nexport interface ProgramsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: string\n ) => ProgramsQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: boolean\n ) => ProgramsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id'\n >\n ) => ProgramsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id'\n >\n ) => ProgramsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => ProgramsQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => ProgramsQueryBuilder;\n find: () => Promise<ProgramsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.benefit_programs.v1.program.ProgramService.QueryPrograms\n * @requiredField query\n */\nexport async function typedQueryPrograms(\n query: ProgramQuery\n): Promise<\n NonNullablePaths<\n QueryProgramsResponse,\n | `programs`\n | `programs.${number}.status`\n | `programs.${number}.beneficiary.anonymousVisitorId`\n | `programs.${number}.beneficiary.memberId`\n | `programs.${number}.beneficiary.wixUserId`\n | `programs.${number}.programDefinition._id`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.queryPrograms(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ProgramQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_createdDate',\n '_id',\n 'externalId',\n 'namespace',\n 'programDefinitionId',\n 'status'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Program,\n ProgramQuerySpec\n>;\nexport type ProgramQuery = {\n /** \n 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`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language)\n for more information. \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n List of sort objects. \n @maxSize: 5 \n */\n sort?: {\n /** \n Field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n\n Default: `ASC` \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n /** \n When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n\n If multiple filters are provided, they are combined with AND operator.\n\n Example:\n Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] } \n @internal: undefined,\n @maxSize: 10 \n */\n selectItemsBy?:\n | NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['selectItemsBy']\n | null;\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n Program,\n ProgramQuerySpec,\n ProgramQuery\n >(),\n};\n\n/**\n * Retrieves a program with the specified external ID and namespace.\n * @param namespace - Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @public\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.externalId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgramByExternalIdAndNamespace\n */\nexport async function getProgramByExternalIdAndNamespace(\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n): Promise<\n NonNullablePaths<\n GetProgramByExternalIdAndNamespaceResponse,\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n namespace: namespace,\n externalId: options?.externalId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.getProgramByExternalIdAndNamespace(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n namespace: '$[0]',\n externalId: '$[1].externalId',\n },\n singleArgumentUnchanged: false,\n },\n ['namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetProgramByExternalIdAndNamespaceOptions {\n /**\n * Program's external ID.\n * @format GUID\n */\n externalId: string;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixBenefitProgramsV1ProgramProgramServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/programs',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_programs';\n\n/**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n */\nexport function provisionProgram(payload: object): RequestOptionsFactory<any> {\n function __provisionProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program.ProgramService.ProvisionProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/provision',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __provisionProgram;\n}\n\n/**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n */\nexport function renewProgram(payload: object): RequestOptionsFactory<any> {\n function __renewProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.RenewProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/renew',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __renewProgram;\n}\n\n/** Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed. */\nexport function pauseProgram(payload: object): RequestOptionsFactory<any> {\n function __pauseProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.PauseProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/pause',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __pauseProgram;\n}\n\n/**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n */\nexport function resumeProgram(payload: object): RequestOptionsFactory<any> {\n function __resumeProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.ResumeProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/resume',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __resumeProgram;\n}\n\n/** Ends the specified program. */\nexport function endProgram(payload: object): RequestOptionsFactory<any> {\n function __endProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.EndProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/end',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __endProgram;\n}\n\n/**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n */\nexport function updateProgram(payload: object): RequestOptionsFactory<any> {\n function __updateProgram({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'PATCH' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.UpdateProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/{program.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProgram;\n}\n\n/** Retrieves a program. */\nexport function getProgram(payload: object): RequestOptionsFactory<any> {\n function __getProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'GET' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.GetProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/{programId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgram;\n}\n\n/**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n */\nexport function queryPrograms(payload: object): RequestOptionsFactory<any> {\n function __queryPrograms({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.QueryPrograms',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programs.createdDate' },\n { path: 'programs.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPrograms;\n}\n\n/** Retrieves a program with the specified external ID and namespace. */\nexport function getProgramByExternalIdAndNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramByExternalIdAndNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program.ProgramService.GetProgramByExternalIdAndNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/by-namespace-and-external-id',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramByExternalIdAndNamespace;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n EndProgramApplicationErrors,\n EndProgramResponse,\n GetProgramByExternalIdAndNamespaceOptions,\n GetProgramByExternalIdAndNamespaceResponse,\n PauseProgramApplicationErrors,\n PauseProgramOptions,\n PauseProgramResponse,\n PoolDefinitionLookupId,\n Program,\n ProgramQuery,\n ProgramsQueryBuilder,\n ProvisionProgramApplicationErrors,\n ProvisionProgramOptions,\n ProvisionProgramResponse,\n QueryProgramsResponse,\n RenewProgramOptions,\n RenewProgramResponse,\n ResumeProgramApplicationErrors,\n ResumeProgramOptions,\n ResumeProgramResponse,\n UpdateProgram,\n endProgram as universalEndProgram,\n getProgram as universalGetProgram,\n getProgramByExternalIdAndNamespace as universalGetProgramByExternalIdAndNamespace,\n pauseProgram as universalPauseProgram,\n provisionProgram as universalProvisionProgram,\n queryPrograms as universalQueryPrograms,\n renewProgram as universalRenewProgram,\n resumeProgram as universalResumeProgram,\n typedQueryPrograms as universalTypedQueryPrograms,\n updateProgram as universalUpdateProgram,\n} from './benefit-programs-v1-program-programs.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/benefit-programs' };\n\nexport function provisionProgram(\n httpClient: HttpClient\n): ProvisionProgramSignature {\n return (\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 2\n >\n ) =>\n universalProvisionProgram(\n poolDefinitionLookupId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ProvisionProgramSignature {\n /**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n * @param - The program definition or pool definition to use to provision the program.\n */\n (\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 2\n >\n ): Promise<\n NonNullablePaths<\n ProvisionProgramResponse,\n | `jobId`\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 4\n > & {\n __applicationErrorsType?: ProvisionProgramApplicationErrors;\n }\n >;\n}\n\nexport function renewProgram(httpClient: HttpClient): RenewProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 2>\n ) =>\n universalRenewProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RenewProgramSignature {\n /**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n * @param - ID of the program to renew.\n */\n (\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 2>\n ): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 2>>;\n}\n\nexport function pauseProgram(httpClient: HttpClient): PauseProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 2>\n ) =>\n universalPauseProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface PauseProgramSignature {\n /**\n * Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed.\n * @param - ID of the program to pause.\n */\n (\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 2>\n ): Promise<\n NonNullablePaths<PauseProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: PauseProgramApplicationErrors;\n }\n >;\n}\n\nexport function resumeProgram(httpClient: HttpClient): ResumeProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 2>\n ) =>\n universalResumeProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ResumeProgramSignature {\n /**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n * @param - ID of program to resume.\n */\n (\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 2>\n ): Promise<\n NonNullablePaths<ResumeProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: ResumeProgramApplicationErrors;\n }\n >;\n}\n\nexport function endProgram(httpClient: HttpClient): EndProgramSignature {\n return (programId: string) =>\n universalEndProgram(\n programId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EndProgramSignature {\n /**\n * Ends the specified program.\n * @param - ID of the program to end.\n */\n (programId: string): Promise<\n NonNullablePaths<EndProgramResponse, `jobId`, 2> & {\n __applicationErrorsType?: EndProgramApplicationErrors;\n }\n >;\n}\n\nexport function updateProgram(httpClient: HttpClient): UpdateProgramSignature {\n return (\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 2>\n ) =>\n universalUpdateProgram(\n _id,\n program,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateProgramSignature {\n /**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n * @param - Program ID.\n * @returns Updated program.\n */\n (\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 2>\n ): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 3\n >\n >;\n}\n\nexport function getProgram(httpClient: HttpClient): GetProgramSignature {\n return (programId: string) =>\n universalGetProgram(\n programId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramSignature {\n /**\n * Retrieves a program.\n * @param - ID of the program to retrieve.\n * @returns Retrieved program.\n */\n (programId: string): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 3\n >\n >;\n}\n\nexport function queryPrograms(httpClient: HttpClient): QueryProgramsSignature {\n return () =>\n universalQueryPrograms(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryProgramsSignature {\n /**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n */\n (): ProgramsQueryBuilder;\n}\n\nexport function typedQueryPrograms(\n httpClient: HttpClient\n): TypedQueryProgramsSignature {\n return (query: ProgramQuery) =>\n universalTypedQueryPrograms(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryProgramsSignature {\n /** */\n (query: ProgramQuery): Promise<\n NonNullablePaths<\n QueryProgramsResponse,\n | `programs`\n | `programs.${number}.status`\n | `programs.${number}.beneficiary.anonymousVisitorId`\n | `programs.${number}.beneficiary.memberId`\n | `programs.${number}.beneficiary.wixUserId`\n | `programs.${number}.programDefinition._id`,\n 5\n >\n >;\n}\n\nexport function getProgramByExternalIdAndNamespace(\n httpClient: HttpClient\n): GetProgramByExternalIdAndNamespaceSignature {\n return (\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n ) =>\n universalGetProgramByExternalIdAndNamespace(\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramByExternalIdAndNamespaceSignature {\n /**\n * Retrieves a program with the specified external ID and namespace.\n * @param - Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n */\n (\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n ): Promise<\n NonNullablePaths<\n GetProgramByExternalIdAndNamespaceResponse,\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 4\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n CommonIdentificationData,\n CommonIdentificationDataIdOneOf,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DomainEvent,\n DomainEventBodyOneOf,\n EndProgramRequest,\n EndProgramResponse,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ExtendedFields,\n GetProgramByExternalIdAndNamespaceOptions,\n GetProgramByExternalIdAndNamespaceRequest,\n GetProgramByExternalIdAndNamespaceResponse,\n GetProgramRequest,\n GetProgramResponse,\n HealProgramRequest,\n HealProgramResponse,\n HealProgramTenantRequest,\n HealProgramTenantResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n MessageEnvelope,\n OrderStatus,\n PauseProgramOptions,\n PauseProgramRequest,\n PauseProgramResponse,\n PoolDefinitionLookupId,\n PoolDefinitionLookupIdIdOneOf,\n Program,\n ProgramAlreadyExists,\n ProgramDefinitionInfo,\n ProgramEnded,\n ProgramPaused,\n ProgramProvisioned,\n ProgramQuerySpec,\n ProgramRenewed,\n ProgramResumed,\n ProgramStatus,\n ProgramStatusTransitionNotAllowed,\n ProgramTranslated,\n ProgramTranslationDeleted,\n ProgramsQueryBuilder,\n ProgramsQueryResult,\n ProvisionProgramOptions,\n ProvisionProgramRequest,\n ProvisionProgramRequestProgramStatus,\n ProvisionProgramResponse,\n QueryProgramsRequest,\n QueryProgramsResponse,\n RenewProgramOptions,\n RenewProgramRequest,\n RenewProgramResponse,\n RestoreInfo,\n ResumeProgramOptions,\n ResumeProgramRequest,\n ResumeProgramResponse,\n SortOrder,\n Sorting,\n UpdateProgram,\n UpdateProgramRequest,\n UpdateProgramResponse,\n UpdateProgramStatusRequest,\n UpdateProgramStatusResponse,\n UpsertMigratedProgramRequest,\n UpsertMigratedProgramResponse,\n WebhookIdentityType,\n utils,\n} from './benefit-programs-v1-program-programs.universal.js';\n","import {\n provisionProgram as publicProvisionProgram,\n renewProgram as publicRenewProgram,\n pauseProgram as publicPauseProgram,\n resumeProgram as publicResumeProgram,\n endProgram as publicEndProgram,\n updateProgram as publicUpdateProgram,\n getProgram as publicGetProgram,\n queryPrograms as publicQueryPrograms,\n typedQueryPrograms as publicTypedQueryPrograms,\n getProgramByExternalIdAndNamespace as publicGetProgramByExternalIdAndNamespace,\n} from './benefit-programs-v1-program-programs.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n ProgramQuery,\n ProgramsQueryBuilder,\n typedQueryPrograms as universalTypedQueryPrograms,\n} from './benefit-programs-v1-program-programs.universal.js';\n\nfunction customQueryPrograms(httpClient: HttpClient) {\n const router = /*#__PURE__*/ createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryPrograms(httpClient)(),\n typedQueryFunction: (query: ProgramQuery) =>\n publicTypedQueryPrograms(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): ProgramsQueryBuilder;\n function overloadedQuery(\n query: ProgramQuery\n ): ReturnType<typeof universalTypedQueryPrograms>;\n function overloadedQuery(query?: ProgramQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const provisionProgram: MaybeContext<\n BuildRESTFunction<typeof publicProvisionProgram> &\n typeof publicProvisionProgram\n> = /*#__PURE__*/ createRESTModule(publicProvisionProgram);\nexport const renewProgram: MaybeContext<\n BuildRESTFunction<typeof publicRenewProgram> & typeof publicRenewProgram\n> = /*#__PURE__*/ createRESTModule(publicRenewProgram);\nexport const pauseProgram: MaybeContext<\n BuildRESTFunction<typeof publicPauseProgram> & typeof publicPauseProgram\n> = /*#__PURE__*/ createRESTModule(publicPauseProgram);\nexport const resumeProgram: MaybeContext<\n BuildRESTFunction<typeof publicResumeProgram> & typeof publicResumeProgram\n> = /*#__PURE__*/ createRESTModule(publicResumeProgram);\nexport const endProgram: MaybeContext<\n BuildRESTFunction<typeof publicEndProgram> & typeof publicEndProgram\n> = /*#__PURE__*/ createRESTModule(publicEndProgram);\nexport const updateProgram: MaybeContext<\n BuildRESTFunction<typeof publicUpdateProgram> & typeof publicUpdateProgram\n> = /*#__PURE__*/ createRESTModule(publicUpdateProgram);\nexport const getProgram: MaybeContext<\n BuildRESTFunction<typeof publicGetProgram> & typeof publicGetProgram\n> = /*#__PURE__*/ createRESTModule(publicGetProgram);\nexport const getProgramByExternalIdAndNamespace: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramByExternalIdAndNamespace> &\n typeof publicGetProgramByExternalIdAndNamespace\n> = /*#__PURE__*/ createRESTModule(publicGetProgramByExternalIdAndNamespace);\nexport const queryPrograms: MaybeContext<\n BuildRESTFunction<typeof customQueryPrograms> & typeof customQueryPrograms\n> = /*#__PURE__*/ createRESTModule(customQueryPrograms);\n\nexport {\n ProgramStatus,\n IdentityType,\n ProvisionProgramRequestProgramStatus,\n OrderStatus,\n SortOrder,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-programs.universal.js';\nexport {\n Program,\n CommonIdentificationData,\n CommonIdentificationDataIdOneOf,\n ExtendedFields,\n ProgramDefinitionInfo,\n ProgramProvisioned,\n ProgramRenewed,\n ProgramEnded,\n ProgramPaused,\n ProgramResumed,\n ProgramTranslated,\n ProgramTranslationDeleted,\n ProvisionProgramRequest,\n PoolDefinitionLookupId,\n PoolDefinitionLookupIdIdOneOf,\n ProvisionProgramResponse,\n ProgramAlreadyExists,\n RenewProgramRequest,\n RenewProgramResponse,\n PauseProgramRequest,\n PauseProgramResponse,\n ProgramStatusTransitionNotAllowed,\n ResumeProgramRequest,\n ResumeProgramResponse,\n EndProgramRequest,\n EndProgramResponse,\n UpdateProgramStatusRequest,\n UpdateProgramStatusResponse,\n UpsertMigratedProgramRequest,\n UpsertMigratedProgramResponse,\n UpdateProgramRequest,\n UpdateProgramResponse,\n GetProgramRequest,\n GetProgramResponse,\n QueryProgramsRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryProgramsResponse,\n CursorPagingMetadata,\n Cursors,\n GetProgramByExternalIdAndNamespaceRequest,\n GetProgramByExternalIdAndNamespaceResponse,\n HealProgramRequest,\n HealProgramResponse,\n HealProgramTenantRequest,\n HealProgramTenantResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n ProvisionProgramOptions,\n RenewProgramOptions,\n PauseProgramOptions,\n ResumeProgramOptions,\n UpdateProgram,\n ProgramsQueryResult,\n ProgramsQueryBuilder,\n ProgramQuerySpec,\n GetProgramByExternalIdAndNamespaceOptions,\n} from './benefit-programs-v1-program-programs.universal.js';\nexport { utils } from './benefit-programs-v1-program-programs.universal.js';\nexport {\n ProgramStatusWithLiterals,\n IdentityTypeWithLiterals,\n ProvisionProgramRequestProgramStatusWithLiterals,\n OrderStatusWithLiterals,\n SortOrderWithLiterals,\n WebhookIdentityTypeWithLiterals,\n ProvisionProgramApplicationErrors,\n PauseProgramApplicationErrors,\n ResumeProgramApplicationErrors,\n EndProgramApplicationErrors,\n CommonQueryWithEntityContext,\n ProgramQuery,\n} from './benefit-programs-v1-program-programs.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","ProgramStatus","IdentityType","ProvisionProgramRequestProgramStatus","OrderStatus","SortOrder","WebhookIdentityType","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","queryPrograms","getProgramByExternalIdAndNamespace","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","queryPrograms","typedQueryPrograms","getProgramByExternalIdAndNamespace","queryPrograms","typedQueryPrograms","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","getProgramByExternalIdAndNamespace"]}
1
+ {"version":3,"sources":["../../src/benefit-programs-v1-program-programs.universal.ts","../../src/benefit-programs-v1-program-programs.http.ts","../../src/benefit-programs-v1-program-programs.public.ts","../../src/benefit-programs-v1-program-programs.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1Program from './benefit-programs-v1-program-programs.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\nexport interface Program {\n /**\n * Program ID.\n * @format GUID\n * @readonly\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program is updated.\n * To prevent conflicting changes, the current revision must be specified when updating the program.\n *\n * Ignored when creating a program.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * ID of the associated program definition.\n * @format GUID\n * @readonly\n * @immutable\n */\n programDefinitionId?: string | null;\n /**\n * Program status.\n * @readonly\n */\n status?: ProgramStatusWithLiterals;\n /**\n * Program beneficiary.\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Program name.\n *\n * You may want to use the same name that's used in the associated program definition, if it exists.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string | null;\n /**\n * Custom field data for the program object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n /**\n * Associated program definition information.\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Intended status of a program after the completion of an action.\n * @internal\n * @readonly\n */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\nexport enum ProgramStatus {\n /** Program is active. */\n ACTIVE = 'ACTIVE',\n /** Program is paused. It can be resumed. */\n PAUSED = 'PAUSED',\n /** Program has ended. It can't be resumed. */\n ENDED = 'ENDED',\n /** Program is being activated for the first time. This status exists for a short time during processing. */\n PROVISIONING = 'PROVISIONING',\n /** Program is being paused. This status exists for a short time during processing. */\n PAUSING = 'PAUSING',\n /** Program is being re-activated after being paused. This status exists for a short time during processing. */\n RESUMING = 'RESUMING',\n /** Program is being ended. This status exists for a short time during processing. */\n ENDING = 'ENDING',\n}\n\n/** @enumType */\nexport type ProgramStatusWithLiterals =\n | ProgramStatus\n | 'ACTIVE'\n | 'PAUSED'\n | 'ENDED'\n | 'PROVISIONING'\n | 'PAUSING'\n | 'RESUMING'\n | 'ENDING';\n\nexport interface CommonIdentificationData\n extends CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n /**\n * Identity type.\n * @internal\n * @readonly\n */\n identityType?: IdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\nexport enum IdentityType {\n /** Unknown type. This value is not used. */\n UNKNOWN = 'UNKNOWN',\n /** A site visitor who has not logged in. */\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n /** A logged-in site member. */\n MEMBER = 'MEMBER',\n /** A Wix account holder, such as a site owner or contributor. */\n WIX_USER = 'WIX_USER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ProgramDefinitionInfo {\n /**\n * Program definition ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Program definition external ID.\n * @format GUID\n * @readonly\n */\n externalId?: string | null;\n}\n\nexport interface ProgramProvisioned {\n /** Program which has been provisioned */\n program?: Program;\n}\n\nexport interface ProgramRenewed {\n /** Program which has been renewed */\n program?: Program;\n}\n\nexport interface ProgramEnded {\n /** Program which has been ended */\n program?: Program;\n}\n\nexport interface ProgramPaused {\n /** Program which has been paused */\n program?: Program;\n}\n\nexport interface ProgramResumed {\n /** Program which has been resumed */\n program?: Program;\n}\n\nexport interface ProgramTranslated {\n /** The translated program. */\n program?: Program;\n /**\n * The language code of the translation.\n * @maxLength 20\n * @format LANGUAGE_TAG\n */\n language?: string;\n}\n\nexport interface ProgramTranslationDeleted {\n /**\n * The ID of the program.\n * @format GUID\n */\n programId?: string;\n /**\n * The language code of the translation.\n * @maxLength 20\n * @format LANGUAGE_TAG\n */\n language?: string;\n}\n\n/** In case pool_definition_id is provided should test if it's part of a package. If it is, reject the request */\nexport interface ProvisionProgramRequest {\n /** The program definition or pool definition to use to provision the program. */\n poolDefinitionLookupId: PoolDefinitionLookupId;\n /** Program beneficiary. */\n beneficiary: CommonIdentificationData;\n /**\n * Initial program status.\n *\n * Default: `ACTIVE`\n */\n programStatus?: ProvisionProgramRequestProgramStatusWithLiterals;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program name.\n *\n * If you're provisioning the program from a program definition, you may want to use the same name that was used for the program definition.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n */\n externalProgramId: string;\n}\n\nexport interface PoolDefinitionLookupId extends PoolDefinitionLookupIdIdOneOf {\n /**\n * Pool definition ID.\n * @format GUID\n */\n poolDefinitionId?: string;\n /**\n * Program definition ID.\n * @format GUID\n */\n programDefinitionId?: string;\n}\n\n/** @oneof */\nexport interface PoolDefinitionLookupIdIdOneOf {\n /**\n * Pool definition ID.\n * @format GUID\n */\n poolDefinitionId?: string;\n /**\n * Program definition ID.\n * @format GUID\n */\n programDefinitionId?: string;\n}\n\nexport enum ProvisionProgramRequestProgramStatus {\n /** Program is active. */\n ACTIVE = 'ACTIVE',\n /** Program is paused. */\n PAUSED = 'PAUSED',\n}\n\n/** @enumType */\nexport type ProvisionProgramRequestProgramStatusWithLiterals =\n | ProvisionProgramRequestProgramStatus\n | 'ACTIVE'\n | 'PAUSED';\n\nexport interface ProvisionProgramResponse {\n /**\n * Job ID of the provisioning of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n /** Provisioned program. */\n program?: Program;\n}\n\nexport interface ProgramAlreadyExists {\n /**\n * Key of a program that already exists\n * @format GUID\n */\n externalProgramId?: string;\n /**\n * Key of a program that already exists\n * @format GUID\n */\n namespace?: string;\n}\n\n/** Updates the pool credit amount according to the configuration. */\nexport interface RenewProgramRequest {\n /**\n * ID of the program to renew.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface RenewProgramResponse {\n /**\n * Job ID of the program renewal. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface PauseProgramRequest {\n /**\n * ID of the program to pause.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface PauseProgramResponse {\n /**\n * Job ID of the pausing of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface ProgramStatusTransitionNotAllowed {\n /** Current status of the program */\n currentStatus?: ProgramStatusWithLiterals;\n /** Status to which the program is being transitioned */\n requestedStatus?: ProgramStatusWithLiterals;\n}\n\nexport interface ResumeProgramRequest {\n /**\n * ID of program to resume.\n * @format GUID\n */\n programId: string;\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\nexport interface ResumeProgramResponse {\n /**\n * Job ID of the resuming of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface EndProgramRequest {\n /**\n * ID of the program to end.\n * @format GUID\n */\n programId: string;\n}\n\nexport interface EndProgramResponse {\n /**\n * Job ID of the ending of the program. Retrieve job details using the [Async Job API](https://dev.wix.com/docs/rest/business-management/async-job/introduction).\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface UpdateProgramStatusRequest {\n /**\n * Program to update\n * @format GUID\n */\n programId?: string;\n /** Program revision */\n programRevision?: string;\n /** Status to update */\n status?: ProgramStatusWithLiterals;\n /** Status to update */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\nexport interface UpdateProgramStatusResponse {\n /** The updated Program */\n program?: Program;\n}\n\nexport interface UpsertMigratedProgramRequest {\n /**\n * Order id\n * @format GUID\n */\n orderId?: string;\n /**\n * Plan id\n * @format GUID\n */\n planId?: string;\n /**\n * Order member id\n * @format GUID\n */\n memberId?: string;\n /** Order status */\n status?: OrderStatusWithLiterals;\n /**\n * Plan name\n * @maxLength 64\n */\n planName?: string;\n}\n\nexport enum OrderStatus {\n UNKNOWN = 'UNKNOWN',\n ACTIVE = 'ACTIVE',\n PAUSED = 'PAUSED',\n ENDED = 'ENDED',\n}\n\n/** @enumType */\nexport type OrderStatusWithLiterals =\n | OrderStatus\n | 'UNKNOWN'\n | 'ACTIVE'\n | 'PAUSED'\n | 'ENDED';\n\nexport interface UpsertMigratedProgramResponse {\n /** Inserted or updated program */\n program?: Program;\n}\n\nexport interface UpdateProgramRequest {\n /** Program to update. */\n program: Program;\n /**\n * Explicit list of fields to update.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateProgramResponse {\n /** Updated program. */\n program?: Program;\n}\n\nexport interface GetProgramRequest {\n /**\n * ID of the program to retrieve.\n * @format GUID\n */\n programId: string;\n}\n\nexport interface GetProgramResponse {\n /** Retrieved program. */\n program?: Program;\n}\n\nexport interface QueryProgramsRequest {\n /** Filter, sort, and paging to apply to the query. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** 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`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n * See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language)\n * for more information.\n */\n filter?: Record<string, any> | null;\n /**\n * List of sort objects.\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** 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`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /**\n * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n *\n * Default: `ASC`\n */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n}\n\nexport enum SortOrder {\n /** Ascending sort order. */\n ASC = 'ASC',\n /** Descending sort order. */\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryProgramsResponse {\n /** List of retrieved programs. */\n programs?: Program[];\n /** Metadata for the paginated results. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetProgramByExternalIdAndNamespaceRequest {\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program's external ID.\n * @format GUID\n */\n externalId: string;\n}\n\nexport interface GetProgramByExternalIdAndNamespaceResponse {\n /** Retrieved program. */\n program?: Program;\n}\n\nexport interface HealProgramRequest {\n /**\n * ID of the program whose enrichments should be re-materialized.\n * @format GUID\n */\n programId?: string;\n}\n\nexport interface HealProgramResponse {}\n\nexport interface HealProgramTenantRequest {}\n\nexport interface HealProgramTenantResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type ProvisionProgramApplicationErrors =\n | {\n code?: 'PROGRAM_ALREADY_EXISTS';\n description?: string;\n data?: ProgramAlreadyExists;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type PauseProgramApplicationErrors =\n | {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n }\n | {\n code?: 'ALREADY_EXECUTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type ResumeProgramApplicationErrors =\n | {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n }\n | {\n code?: 'ALREADY_EXECUTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'IN_PROGRESS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type EndProgramApplicationErrors = {\n code?: 'PROGRAM_STATUS_TRANSITION_NOT_ALLOWED';\n description?: string;\n data?: ProgramStatusTransitionNotAllowed;\n};\n\n/**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n * @param poolDefinitionLookupId - The program definition or pool definition to use to provision the program.\n * @public\n * @requiredField options.beneficiary\n * @requiredField options.externalProgramId\n * @requiredField options.namespace\n * @requiredField poolDefinitionLookupId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_PROVISION\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.ProvisionProgram\n */\nexport async function provisionProgram(\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 0\n >\n): Promise<\n NonNullablePaths<\n ProvisionProgramResponse,\n | `jobId`\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 2\n > & {\n __applicationErrorsType?: ProvisionProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n poolDefinitionLookupId: poolDefinitionLookupId,\n beneficiary: options?.beneficiary,\n programStatus: options?.programStatus,\n namespace: options?.namespace,\n displayName: options?.displayName,\n externalProgramId: options?.externalProgramId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.provisionProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n poolDefinitionLookupId: '$[0]',\n beneficiary: '$[1].beneficiary',\n programStatus: '$[1].programStatus',\n namespace: '$[1].namespace',\n displayName: '$[1].displayName',\n externalProgramId: '$[1].externalProgramId',\n },\n singleArgumentUnchanged: false,\n },\n ['poolDefinitionLookupId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ProvisionProgramOptions {\n /** Program beneficiary. */\n beneficiary: CommonIdentificationData;\n /**\n * Initial program status.\n *\n * Default: `ACTIVE`\n */\n programStatus?: ProvisionProgramRequestProgramStatusWithLiterals;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n */\n namespace: string;\n /**\n * Program name.\n *\n * If you're provisioning the program from a program definition, you may want to use the same name that was used for the program definition.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n */\n externalProgramId: string;\n}\n\n/**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n * @param programId - ID of the program to renew.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_RENEW\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.RenewProgram\n */\nexport async function renewProgram(\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 0>\n): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.renewProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RenewProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed.\n * @param programId - ID of the program to pause.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_PAUSE\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.PauseProgram\n */\nexport async function pauseProgram(\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 0>\n): Promise<\n NonNullablePaths<PauseProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: PauseProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.pauseProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PauseProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n * @param programId - ID of program to resume.\n * @public\n * @requiredField options\n * @requiredField options.idempotencyKey\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_RESUME\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.ResumeProgram\n */\nexport async function resumeProgram(\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 0>\n): Promise<\n NonNullablePaths<ResumeProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: ResumeProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n idempotencyKey: options?.idempotencyKey,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.resumeProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n idempotencyKey: '$[1].idempotencyKey',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ResumeProgramOptions {\n /**\n * Idempotency key to ensure that the request is processed only once.\n * @maxLength 64\n */\n idempotencyKey: string;\n}\n\n/**\n * Ends the specified program.\n * @param programId - ID of the program to end.\n * @public\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_END\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.EndProgram\n */\nexport async function endProgram(programId: string): Promise<\n NonNullablePaths<EndProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: EndProgramApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.endProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n * @param _id - Program ID.\n * @public\n * @requiredField _id\n * @requiredField program\n * @requiredField program.revision\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_UPDATE\n * @applicableIdentity APP\n * @returns Updated program.\n * @fqn wix.benefit_programs.v1.program.ProgramService.UpdateProgram\n */\nexport async function updateProgram(\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 0>\n): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n program: { ...program, id: _id },\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.updateProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.program!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { program: '$[1]' },\n explicitPathsToArguments: { 'program.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'program']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProgram {\n /**\n * Program ID.\n * @format GUID\n * @readonly\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program is updated.\n * To prevent conflicting changes, the current revision must be specified when updating the program.\n *\n * Ignored when creating a program.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * ID of the associated program definition.\n * @format GUID\n * @readonly\n * @immutable\n */\n programDefinitionId?: string | null;\n /**\n * Program status.\n * @readonly\n */\n status?: ProgramStatusWithLiterals;\n /**\n * Program beneficiary.\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Program name.\n *\n * You may want to use the same name that's used in the associated program definition, if it exists.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string | null;\n /**\n * Custom field data for the program object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * ID for the program defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n /**\n * Associated program definition information.\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Intended status of a program after the completion of an action.\n * @internal\n * @readonly\n */\n targetStatus?: ProgramStatusWithLiterals;\n}\n\n/**\n * Retrieves a program.\n * @param programId - ID of the program to retrieve.\n * @public\n * @requiredField programId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @returns Retrieved program.\n * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgram\n */\nexport async function getProgram(\n programId: string\n): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.getProgram(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.program!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n * @public\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.QueryPrograms\n */\nexport function queryPrograms(): ProgramsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Program,\n 'CURSOR',\n QueryProgramsRequest,\n QueryProgramsResponse\n >({\n func: async (payload: QueryProgramsRequest) => {\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.queryPrograms(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryProgramsRequest['query']) => {\n const args = [query, {}] as [QueryProgramsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryProgramsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.programs,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface ProgramsQueryResult extends QueryCursorResult {\n items: Program[];\n query: ProgramsQueryBuilder;\n next: () => Promise<ProgramsQueryResult>;\n prev: () => Promise<ProgramsQueryResult>;\n}\n\nexport interface ProgramsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'programDefinitionId'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: string\n ) => ProgramsQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: any\n ) => ProgramsQueryBuilder;\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id',\n value: boolean\n ) => ProgramsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id'\n >\n ) => ProgramsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'programDefinitionId'\n | 'status'\n | 'namespace'\n | 'externalId'\n | 'programDefinition.id'\n >\n ) => ProgramsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => ProgramsQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => ProgramsQueryBuilder;\n find: () => Promise<ProgramsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.benefit_programs.v1.program.ProgramService.QueryPrograms\n * @requiredField query\n */\nexport async function typedQueryPrograms(\n query: ProgramQuery\n): Promise<\n NonNullablePaths<\n QueryProgramsResponse,\n | `programs`\n | `programs.${number}.status`\n | `programs.${number}.beneficiary.anonymousVisitorId`\n | `programs.${number}.beneficiary.memberId`\n | `programs.${number}.beneficiary.wixUserId`\n | `programs.${number}.programDefinition._id`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts = ambassadorWixBenefitProgramsV1Program.queryPrograms(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ProgramQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_createdDate',\n '_id',\n 'externalId',\n 'namespace',\n 'programDefinitionId',\n 'status'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Program,\n ProgramQuerySpec\n>;\nexport type ProgramQuery = {\n /** \n 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`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language)\n for more information. \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n List of sort objects. \n @maxSize: 5 \n */\n sort?: {\n /** \n Field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n\n Default: `ASC` \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n /** \n When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n\n If multiple filters are provided, they are combined with AND operator.\n\n Example:\n Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] } \n @internal: undefined,\n @maxSize: 10 \n */\n selectItemsBy?:\n | NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['selectItemsBy']\n | null;\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n Program,\n ProgramQuerySpec,\n ProgramQuery\n >(),\n};\n\n/**\n * Retrieves a program with the specified external ID and namespace.\n * @param namespace - Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n * @public\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.externalId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgramByExternalIdAndNamespace\n */\nexport async function getProgramByExternalIdAndNamespace(\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n GetProgramByExternalIdAndNamespaceResponse,\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n namespace: namespace,\n externalId: options?.externalId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1Program.getProgramByExternalIdAndNamespace(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n namespace: '$[0]',\n externalId: '$[1].externalId',\n },\n singleArgumentUnchanged: false,\n },\n ['namespace', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetProgramByExternalIdAndNamespaceOptions {\n /**\n * Program's external ID.\n * @format GUID\n */\n externalId: string;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixBenefitProgramsV1ProgramProgramServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/programs',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-programs',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/benefit-programs/v1/programs',\n destPath: '/v1/programs',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_programs';\n\n/**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n */\nexport function provisionProgram(payload: object): RequestOptionsFactory<any> {\n function __provisionProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program.ProgramService.ProvisionProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/provision',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __provisionProgram;\n}\n\n/**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n */\nexport function renewProgram(payload: object): RequestOptionsFactory<any> {\n function __renewProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.RenewProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/renew',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __renewProgram;\n}\n\n/** Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed. */\nexport function pauseProgram(payload: object): RequestOptionsFactory<any> {\n function __pauseProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.PauseProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/pause',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __pauseProgram;\n}\n\n/**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n */\nexport function resumeProgram(payload: object): RequestOptionsFactory<any> {\n function __resumeProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.ResumeProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/resume',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __resumeProgram;\n}\n\n/** Ends the specified program. */\nexport function endProgram(payload: object): RequestOptionsFactory<any> {\n function __endProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.EndProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/end',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __endProgram;\n}\n\n/**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n */\nexport function updateProgram(payload: object): RequestOptionsFactory<any> {\n function __updateProgram({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'PATCH' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.UpdateProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/{program.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProgram;\n}\n\n/** Retrieves a program. */\nexport function getProgram(payload: object): RequestOptionsFactory<any> {\n function __getProgram({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'GET' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.GetProgram',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/{programId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgram;\n}\n\n/**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n */\nexport function queryPrograms(payload: object): RequestOptionsFactory<any> {\n function __queryPrograms({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'POST' as any,\n methodFqn: 'wix.benefit_programs.v1.program.ProgramService.QueryPrograms',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programs.createdDate' },\n { path: 'programs.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPrograms;\n}\n\n/** Retrieves a program with the specified external ID and namespace. */\nexport function getProgramByExternalIdAndNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramByExternalIdAndNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program.ProgramService.GetProgramByExternalIdAndNamespace',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1ProgramProgramServiceUrl({\n protoPath: '/v1/programs/by-namespace-and-external-id',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'program.createdDate' },\n { path: 'program.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramByExternalIdAndNamespace;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n EndProgramApplicationErrors,\n EndProgramResponse,\n GetProgramByExternalIdAndNamespaceOptions,\n GetProgramByExternalIdAndNamespaceResponse,\n PauseProgramApplicationErrors,\n PauseProgramOptions,\n PauseProgramResponse,\n PoolDefinitionLookupId,\n Program,\n ProgramQuery,\n ProgramsQueryBuilder,\n ProvisionProgramApplicationErrors,\n ProvisionProgramOptions,\n ProvisionProgramResponse,\n QueryProgramsResponse,\n RenewProgramOptions,\n RenewProgramResponse,\n ResumeProgramApplicationErrors,\n ResumeProgramOptions,\n ResumeProgramResponse,\n UpdateProgram,\n endProgram as universalEndProgram,\n getProgram as universalGetProgram,\n getProgramByExternalIdAndNamespace as universalGetProgramByExternalIdAndNamespace,\n pauseProgram as universalPauseProgram,\n provisionProgram as universalProvisionProgram,\n queryPrograms as universalQueryPrograms,\n renewProgram as universalRenewProgram,\n resumeProgram as universalResumeProgram,\n typedQueryPrograms as universalTypedQueryPrograms,\n updateProgram as universalUpdateProgram,\n} from './benefit-programs-v1-program-programs.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/benefit-programs' };\n\nexport function provisionProgram(\n httpClient: HttpClient\n): ProvisionProgramSignature {\n return (\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 0\n >\n ) =>\n universalProvisionProgram(\n poolDefinitionLookupId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ProvisionProgramSignature {\n /**\n * Creates a program for the specified beneficiary. Creating a program is also referred to as provisioning a program.\n *\n * You can provision a program from a program definition or a pool definition:\n * - **Program definition**: The provisioned program has pools that are created from the pool definitions in the program definition.\n * - **Pool definition**: The provisioned program has 1 pool that is created from the pool definition.\n * @param - The program definition or pool definition to use to provision the program.\n */\n (\n poolDefinitionLookupId: PoolDefinitionLookupId,\n options?: NonNullablePaths<\n ProvisionProgramOptions,\n `beneficiary` | `externalProgramId` | `namespace`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n ProvisionProgramResponse,\n | `jobId`\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 2\n > & {\n __applicationErrorsType?: ProvisionProgramApplicationErrors;\n }\n >;\n}\n\nexport function renewProgram(httpClient: HttpClient): RenewProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 0>\n ) =>\n universalRenewProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RenewProgramSignature {\n /**\n * Renews the specified program.\n *\n * The number of available credits in each pool in the program is defined in the corresponding pool's credit configuration.\n * @param - ID of the program to renew.\n */\n (\n programId: string,\n options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 0>\n ): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 0>>;\n}\n\nexport function pauseProgram(httpClient: HttpClient): PauseProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 0>\n ) =>\n universalPauseProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface PauseProgramSignature {\n /**\n * Pauses the specified program. Benefits in the program's pools can't be redeemed until the program is resumed.\n * @param - ID of the program to pause.\n */\n (\n programId: string,\n options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 0>\n ): Promise<\n NonNullablePaths<PauseProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: PauseProgramApplicationErrors;\n }\n >;\n}\n\nexport function resumeProgram(httpClient: HttpClient): ResumeProgramSignature {\n return (\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 0>\n ) =>\n universalResumeProgram(\n programId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ResumeProgramSignature {\n /**\n * Resumes the specified program.\n *\n * Call this method for paused programs.\n * @param - ID of program to resume.\n */\n (\n programId: string,\n options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 0>\n ): Promise<\n NonNullablePaths<ResumeProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: ResumeProgramApplicationErrors;\n }\n >;\n}\n\nexport function endProgram(httpClient: HttpClient): EndProgramSignature {\n return (programId: string) =>\n universalEndProgram(\n programId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EndProgramSignature {\n /**\n * Ends the specified program.\n * @param - ID of the program to end.\n */\n (programId: string): Promise<\n NonNullablePaths<EndProgramResponse, `jobId`, 0> & {\n __applicationErrorsType?: EndProgramApplicationErrors;\n }\n >;\n}\n\nexport function updateProgram(httpClient: HttpClient): UpdateProgramSignature {\n return (\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 0>\n ) =>\n universalUpdateProgram(\n _id,\n program,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateProgramSignature {\n /**\n * Updates a program.\n *\n * Each time the program definition is updated,\n * `revision` increments by 1.\n * The current `revision` must be passed when updating the program definition.\n * This ensures you're working with the latest program definition\n * and prevents unintended overwrites.\n * @param - Program ID.\n * @returns Updated program.\n */\n (\n _id: string,\n program: NonNullablePaths<UpdateProgram, `revision`, 0>\n ): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 1\n >\n >;\n}\n\nexport function getProgram(httpClient: HttpClient): GetProgramSignature {\n return (programId: string) =>\n universalGetProgram(\n programId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramSignature {\n /**\n * Retrieves a program.\n * @param - ID of the program to retrieve.\n * @returns Retrieved program.\n */\n (programId: string): Promise<\n NonNullablePaths<\n Program,\n | `status`\n | `beneficiary.anonymousVisitorId`\n | `beneficiary.memberId`\n | `beneficiary.wixUserId`\n | `programDefinition._id`,\n 1\n >\n >;\n}\n\nexport function queryPrograms(httpClient: HttpClient): QueryProgramsSignature {\n return () =>\n universalQueryPrograms(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryProgramsSignature {\n /**\n * Creates a query to retrieve a list of programs.\n *\n * The Query Programs method builds a query to retrieve a list of programs and returns a `ProgramsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `ProgramsQueryBuilder` methods onto the query. `ProgramsQueryBuilder` methods enable you to filter, sort, and control the results that Query Programs returns.\n *\n * Query Programs has a default paging limit of 50, which you can override.\n *\n * For a full description of the item object, see the object returned for the `items` property in `ProgramsQueryResult`.\n */\n (): ProgramsQueryBuilder;\n}\n\nexport function typedQueryPrograms(\n httpClient: HttpClient\n): TypedQueryProgramsSignature {\n return (query: ProgramQuery) =>\n universalTypedQueryPrograms(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryProgramsSignature {\n /** */\n (query: ProgramQuery): Promise<\n NonNullablePaths<\n QueryProgramsResponse,\n | `programs`\n | `programs.${number}.status`\n | `programs.${number}.beneficiary.anonymousVisitorId`\n | `programs.${number}.beneficiary.memberId`\n | `programs.${number}.beneficiary.wixUserId`\n | `programs.${number}.programDefinition._id`,\n 3\n >\n >;\n}\n\nexport function getProgramByExternalIdAndNamespace(\n httpClient: HttpClient\n): GetProgramByExternalIdAndNamespaceSignature {\n return (\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 0\n >\n ) =>\n universalGetProgramByExternalIdAndNamespace(\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramByExternalIdAndNamespaceSignature {\n /**\n * Retrieves a program with the specified external ID and namespace.\n * @param - Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you created and entities that other apps created.\n */\n (\n namespace: string,\n options: NonNullablePaths<\n GetProgramByExternalIdAndNamespaceOptions,\n `externalId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n GetProgramByExternalIdAndNamespaceResponse,\n | `program.status`\n | `program.beneficiary.anonymousVisitorId`\n | `program.beneficiary.memberId`\n | `program.beneficiary.wixUserId`\n | `program.programDefinition._id`,\n 2\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n CommonIdentificationData,\n CommonIdentificationDataIdOneOf,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DomainEvent,\n DomainEventBodyOneOf,\n EndProgramRequest,\n EndProgramResponse,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ExtendedFields,\n GetProgramByExternalIdAndNamespaceOptions,\n GetProgramByExternalIdAndNamespaceRequest,\n GetProgramByExternalIdAndNamespaceResponse,\n GetProgramRequest,\n GetProgramResponse,\n HealProgramRequest,\n HealProgramResponse,\n HealProgramTenantRequest,\n HealProgramTenantResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n MessageEnvelope,\n OrderStatus,\n PauseProgramOptions,\n PauseProgramRequest,\n PauseProgramResponse,\n PoolDefinitionLookupId,\n PoolDefinitionLookupIdIdOneOf,\n Program,\n ProgramAlreadyExists,\n ProgramDefinitionInfo,\n ProgramEnded,\n ProgramPaused,\n ProgramProvisioned,\n ProgramQuerySpec,\n ProgramRenewed,\n ProgramResumed,\n ProgramStatus,\n ProgramStatusTransitionNotAllowed,\n ProgramTranslated,\n ProgramTranslationDeleted,\n ProgramsQueryBuilder,\n ProgramsQueryResult,\n ProvisionProgramOptions,\n ProvisionProgramRequest,\n ProvisionProgramRequestProgramStatus,\n ProvisionProgramResponse,\n QueryProgramsRequest,\n QueryProgramsResponse,\n RenewProgramOptions,\n RenewProgramRequest,\n RenewProgramResponse,\n RestoreInfo,\n ResumeProgramOptions,\n ResumeProgramRequest,\n ResumeProgramResponse,\n SortOrder,\n Sorting,\n UpdateProgram,\n UpdateProgramRequest,\n UpdateProgramResponse,\n UpdateProgramStatusRequest,\n UpdateProgramStatusResponse,\n UpsertMigratedProgramRequest,\n UpsertMigratedProgramResponse,\n WebhookIdentityType,\n utils,\n} from './benefit-programs-v1-program-programs.universal.js';\n","import {\n provisionProgram as publicProvisionProgram,\n renewProgram as publicRenewProgram,\n pauseProgram as publicPauseProgram,\n resumeProgram as publicResumeProgram,\n endProgram as publicEndProgram,\n updateProgram as publicUpdateProgram,\n getProgram as publicGetProgram,\n queryPrograms as publicQueryPrograms,\n typedQueryPrograms as publicTypedQueryPrograms,\n getProgramByExternalIdAndNamespace as publicGetProgramByExternalIdAndNamespace,\n} from './benefit-programs-v1-program-programs.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n ProgramQuery,\n ProgramsQueryBuilder,\n typedQueryPrograms as universalTypedQueryPrograms,\n} from './benefit-programs-v1-program-programs.universal.js';\n\nfunction customQueryPrograms(httpClient: HttpClient) {\n const router = /*#__PURE__*/ createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryPrograms(httpClient)(),\n typedQueryFunction: (query: ProgramQuery) =>\n publicTypedQueryPrograms(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): ProgramsQueryBuilder;\n function overloadedQuery(\n query: ProgramQuery\n ): ReturnType<typeof universalTypedQueryPrograms>;\n function overloadedQuery(query?: ProgramQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const provisionProgram: MaybeContext<\n BuildRESTFunction<typeof publicProvisionProgram> &\n typeof publicProvisionProgram\n> = /*#__PURE__*/ createRESTModule(publicProvisionProgram);\nexport const renewProgram: MaybeContext<\n BuildRESTFunction<typeof publicRenewProgram> & typeof publicRenewProgram\n> = /*#__PURE__*/ createRESTModule(publicRenewProgram);\nexport const pauseProgram: MaybeContext<\n BuildRESTFunction<typeof publicPauseProgram> & typeof publicPauseProgram\n> = /*#__PURE__*/ createRESTModule(publicPauseProgram);\nexport const resumeProgram: MaybeContext<\n BuildRESTFunction<typeof publicResumeProgram> & typeof publicResumeProgram\n> = /*#__PURE__*/ createRESTModule(publicResumeProgram);\nexport const endProgram: MaybeContext<\n BuildRESTFunction<typeof publicEndProgram> & typeof publicEndProgram\n> = /*#__PURE__*/ createRESTModule(publicEndProgram);\nexport const updateProgram: MaybeContext<\n BuildRESTFunction<typeof publicUpdateProgram> & typeof publicUpdateProgram\n> = /*#__PURE__*/ createRESTModule(publicUpdateProgram);\nexport const getProgram: MaybeContext<\n BuildRESTFunction<typeof publicGetProgram> & typeof publicGetProgram\n> = /*#__PURE__*/ createRESTModule(publicGetProgram);\nexport const getProgramByExternalIdAndNamespace: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramByExternalIdAndNamespace> &\n typeof publicGetProgramByExternalIdAndNamespace\n> = /*#__PURE__*/ createRESTModule(publicGetProgramByExternalIdAndNamespace);\nexport const queryPrograms: MaybeContext<\n BuildRESTFunction<typeof customQueryPrograms> & typeof customQueryPrograms\n> = /*#__PURE__*/ createRESTModule(customQueryPrograms);\n\nexport {\n ProgramStatus,\n IdentityType,\n ProvisionProgramRequestProgramStatus,\n OrderStatus,\n SortOrder,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-programs.universal.js';\nexport {\n Program,\n CommonIdentificationData,\n CommonIdentificationDataIdOneOf,\n ExtendedFields,\n ProgramDefinitionInfo,\n ProgramProvisioned,\n ProgramRenewed,\n ProgramEnded,\n ProgramPaused,\n ProgramResumed,\n ProgramTranslated,\n ProgramTranslationDeleted,\n ProvisionProgramRequest,\n PoolDefinitionLookupId,\n PoolDefinitionLookupIdIdOneOf,\n ProvisionProgramResponse,\n ProgramAlreadyExists,\n RenewProgramRequest,\n RenewProgramResponse,\n PauseProgramRequest,\n PauseProgramResponse,\n ProgramStatusTransitionNotAllowed,\n ResumeProgramRequest,\n ResumeProgramResponse,\n EndProgramRequest,\n EndProgramResponse,\n UpdateProgramStatusRequest,\n UpdateProgramStatusResponse,\n UpsertMigratedProgramRequest,\n UpsertMigratedProgramResponse,\n UpdateProgramRequest,\n UpdateProgramResponse,\n GetProgramRequest,\n GetProgramResponse,\n QueryProgramsRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryProgramsResponse,\n CursorPagingMetadata,\n Cursors,\n GetProgramByExternalIdAndNamespaceRequest,\n GetProgramByExternalIdAndNamespaceResponse,\n HealProgramRequest,\n HealProgramResponse,\n HealProgramTenantRequest,\n HealProgramTenantResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n ProvisionProgramOptions,\n RenewProgramOptions,\n PauseProgramOptions,\n ResumeProgramOptions,\n UpdateProgram,\n ProgramsQueryResult,\n ProgramsQueryBuilder,\n ProgramQuerySpec,\n GetProgramByExternalIdAndNamespaceOptions,\n} from './benefit-programs-v1-program-programs.universal.js';\nexport { utils } from './benefit-programs-v1-program-programs.universal.js';\nexport {\n ProgramStatusWithLiterals,\n IdentityTypeWithLiterals,\n ProvisionProgramRequestProgramStatusWithLiterals,\n OrderStatusWithLiterals,\n SortOrderWithLiterals,\n WebhookIdentityTypeWithLiterals,\n ProvisionProgramApplicationErrors,\n PauseProgramApplicationErrors,\n ResumeProgramApplicationErrors,\n EndProgramApplicationErrors,\n CommonQueryWithEntityContext,\n ProgramQuery,\n} from './benefit-programs-v1-program-programs.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","ProgramStatus","IdentityType","ProvisionProgramRequestProgramStatus","OrderStatus","SortOrder","WebhookIdentityType","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","queryPrograms","getProgramByExternalIdAndNamespace","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","queryPrograms","typedQueryPrograms","getProgramByExternalIdAndNamespace","queryPrograms","typedQueryPrograms","provisionProgram","renewProgram","pauseProgram","resumeProgram","endProgram","updateProgram","getProgram","getProgramByExternalIdAndNamespace"]}
@@ -781,7 +781,7 @@ type EndProgramApplicationErrors = {
781
781
  * @applicableIdentity APP
782
782
  * @fqn wix.benefit_programs.v1.program.ProgramService.ProvisionProgram
783
783
  */
784
- declare function provisionProgram(poolDefinitionLookupId: PoolDefinitionLookupId, options?: NonNullablePaths<ProvisionProgramOptions, `beneficiary` | `externalProgramId` | `namespace`, 2>): Promise<NonNullablePaths<ProvisionProgramResponse, `jobId` | `program.status` | `program.beneficiary.anonymousVisitorId` | `program.beneficiary.memberId` | `program.beneficiary.wixUserId` | `program.programDefinition._id`, 4> & {
784
+ declare function provisionProgram(poolDefinitionLookupId: PoolDefinitionLookupId, options?: NonNullablePaths<ProvisionProgramOptions, `beneficiary` | `externalProgramId` | `namespace`, 0>): Promise<NonNullablePaths<ProvisionProgramResponse, `jobId` | `program.status` | `program.beneficiary.anonymousVisitorId` | `program.beneficiary.memberId` | `program.beneficiary.wixUserId` | `program.programDefinition._id`, 2> & {
785
785
  __applicationErrorsType?: ProvisionProgramApplicationErrors;
786
786
  }>;
787
787
  interface ProvisionProgramOptions {
@@ -825,7 +825,7 @@ interface ProvisionProgramOptions {
825
825
  * @applicableIdentity APP
826
826
  * @fqn wix.benefit_programs.v1.program.ProgramService.RenewProgram
827
827
  */
828
- declare function renewProgram(programId: string, options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 2>): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 2>>;
828
+ declare function renewProgram(programId: string, options: NonNullablePaths<RenewProgramOptions, `idempotencyKey`, 0>): Promise<NonNullablePaths<RenewProgramResponse, `jobId`, 0>>;
829
829
  interface RenewProgramOptions {
830
830
  /**
831
831
  * Idempotency key to ensure that the request is processed only once.
@@ -844,7 +844,7 @@ interface RenewProgramOptions {
844
844
  * @applicableIdentity APP
845
845
  * @fqn wix.benefit_programs.v1.program.ProgramService.PauseProgram
846
846
  */
847
- declare function pauseProgram(programId: string, options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 2>): Promise<NonNullablePaths<PauseProgramResponse, `jobId`, 2> & {
847
+ declare function pauseProgram(programId: string, options: NonNullablePaths<PauseProgramOptions, `idempotencyKey`, 0>): Promise<NonNullablePaths<PauseProgramResponse, `jobId`, 0> & {
848
848
  __applicationErrorsType?: PauseProgramApplicationErrors;
849
849
  }>;
850
850
  interface PauseProgramOptions {
@@ -867,7 +867,7 @@ interface PauseProgramOptions {
867
867
  * @applicableIdentity APP
868
868
  * @fqn wix.benefit_programs.v1.program.ProgramService.ResumeProgram
869
869
  */
870
- declare function resumeProgram(programId: string, options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 2>): Promise<NonNullablePaths<ResumeProgramResponse, `jobId`, 2> & {
870
+ declare function resumeProgram(programId: string, options: NonNullablePaths<ResumeProgramOptions, `idempotencyKey`, 0>): Promise<NonNullablePaths<ResumeProgramResponse, `jobId`, 0> & {
871
871
  __applicationErrorsType?: ResumeProgramApplicationErrors;
872
872
  }>;
873
873
  interface ResumeProgramOptions {
@@ -886,7 +886,7 @@ interface ResumeProgramOptions {
886
886
  * @applicableIdentity APP
887
887
  * @fqn wix.benefit_programs.v1.program.ProgramService.EndProgram
888
888
  */
889
- declare function endProgram(programId: string): Promise<NonNullablePaths<EndProgramResponse, `jobId`, 2> & {
889
+ declare function endProgram(programId: string): Promise<NonNullablePaths<EndProgramResponse, `jobId`, 0> & {
890
890
  __applicationErrorsType?: EndProgramApplicationErrors;
891
891
  }>;
892
892
  /**
@@ -907,7 +907,7 @@ declare function endProgram(programId: string): Promise<NonNullablePaths<EndProg
907
907
  * @returns Updated program.
908
908
  * @fqn wix.benefit_programs.v1.program.ProgramService.UpdateProgram
909
909
  */
910
- declare function updateProgram(_id: string, program: NonNullablePaths<UpdateProgram, `revision`, 2>): Promise<NonNullablePaths<Program, `status` | `beneficiary.anonymousVisitorId` | `beneficiary.memberId` | `beneficiary.wixUserId` | `programDefinition._id`, 3>>;
910
+ declare function updateProgram(_id: string, program: NonNullablePaths<UpdateProgram, `revision`, 0>): Promise<NonNullablePaths<Program, `status` | `beneficiary.anonymousVisitorId` | `beneficiary.memberId` | `beneficiary.wixUserId` | `programDefinition._id`, 1>>;
911
911
  interface UpdateProgram {
912
912
  /**
913
913
  * Program ID.
@@ -996,7 +996,7 @@ interface UpdateProgram {
996
996
  * @returns Retrieved program.
997
997
  * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgram
998
998
  */
999
- declare function getProgram(programId: string): Promise<NonNullablePaths<Program, `status` | `beneficiary.anonymousVisitorId` | `beneficiary.memberId` | `beneficiary.wixUserId` | `programDefinition._id`, 3>>;
999
+ declare function getProgram(programId: string): Promise<NonNullablePaths<Program, `status` | `beneficiary.anonymousVisitorId` | `beneficiary.memberId` | `beneficiary.wixUserId` | `programDefinition._id`, 1>>;
1000
1000
  /**
1001
1001
  * Creates a query to retrieve a list of programs.
1002
1002
  *
@@ -1074,7 +1074,7 @@ interface ProgramsQueryBuilder {
1074
1074
  * @fqn wix.benefit_programs.v1.program.ProgramService.QueryPrograms
1075
1075
  * @requiredField query
1076
1076
  */
1077
- declare function typedQueryPrograms(query: ProgramQuery): Promise<NonNullablePaths<QueryProgramsResponse, `programs` | `programs.${number}.status` | `programs.${number}.beneficiary.anonymousVisitorId` | `programs.${number}.beneficiary.memberId` | `programs.${number}.beneficiary.wixUserId` | `programs.${number}.programDefinition._id`, 5>>;
1077
+ declare function typedQueryPrograms(query: ProgramQuery): Promise<NonNullablePaths<QueryProgramsResponse, `programs` | `programs.${number}.status` | `programs.${number}.beneficiary.anonymousVisitorId` | `programs.${number}.beneficiary.memberId` | `programs.${number}.beneficiary.wixUserId` | `programs.${number}.programDefinition._id`, 3>>;
1078
1078
  interface ProgramQuerySpec extends QuerySpec {
1079
1079
  paging: 'cursor';
1080
1080
  wql: [
@@ -1150,7 +1150,7 @@ declare const utils: {
1150
1150
  * @applicableIdentity APP
1151
1151
  * @fqn wix.benefit_programs.v1.program.ProgramService.GetProgramByExternalIdAndNamespace
1152
1152
  */
1153
- declare function getProgramByExternalIdAndNamespace(namespace: string, options: NonNullablePaths<GetProgramByExternalIdAndNamespaceOptions, `externalId`, 2>): Promise<NonNullablePaths<GetProgramByExternalIdAndNamespaceResponse, `program.status` | `program.beneficiary.anonymousVisitorId` | `program.beneficiary.memberId` | `program.beneficiary.wixUserId` | `program.programDefinition._id`, 4>>;
1153
+ declare function getProgramByExternalIdAndNamespace(namespace: string, options: NonNullablePaths<GetProgramByExternalIdAndNamespaceOptions, `externalId`, 0>): Promise<NonNullablePaths<GetProgramByExternalIdAndNamespaceResponse, `program.status` | `program.beneficiary.anonymousVisitorId` | `program.beneficiary.memberId` | `program.beneficiary.wixUserId` | `program.programDefinition._id`, 2>>;
1154
1154
  interface GetProgramByExternalIdAndNamespaceOptions {
1155
1155
  /**
1156
1156
  * Program's external ID.