@wix/auto_sdk_benefit-programs_program-definitions 1.0.23 → 1.0.24

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.
@@ -1,6 +1,6 @@
1
- import { HttpClient, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
- import { P as ProgramDefinition, U as UpdateProgramDefinition, D as DeleteProgramDefinitionOptions, G as GetProgramDefinitionByExternalIdAndNamespaceOptions, a as GetProgramDefinitionByExternalIdAndNamespaceResponse, b as ProgramDefinitionsQueryBuilder } from './benefit-programs-v1-program-definition-program-definitions.universal-sWXdQsrf.js';
3
- export { B as ActionEvent, C as Cascade, c as CreateProgramDefinitionRequest, d as CreateProgramDefinitionResponse, o as CursorPaging, q as CursorPagingMetadata, l as CursorQuery, m as CursorQueryPagingMethodOneOf, r as Cursors, g as DeleteProgramDefinitionRequest, h as DeleteProgramDefinitionResponse, w as DomainEvent, x as DomainEventBodyOneOf, y as EntityCreatedEvent, A as EntityDeletedEvent, z as EntityUpdatedEvent, E as ExtendedFields, u as GetOrCreateProgramDefinitionRequest, v as GetOrCreateProgramDefinitionResponse, k as GetProgramDefinitionByExternalIdAndNamespaceRequest, i as GetProgramDefinitionRequest, j as GetProgramDefinitionResponse, I as IdentificationData, F as IdentificationDataIdOneOf, M as MessageEnvelope, H as ProgramDefinitionsQueryResult, Q as QueryProgramDefinitionsRequest, p as QueryProgramDefinitionsResponse, R as RestoreInfo, S as SortOrder, n as Sorting, e as UpdateProgramDefinitionRequest, f as UpdateProgramDefinitionResponse, s as UpsertProgramDefinitionRequest, t as UpsertProgramDefinitionResponse, W as WebhookIdentityType } from './benefit-programs-v1-program-definition-program-definitions.universal-sWXdQsrf.js';
1
+ import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
+ import { ProgramDefinition, UpdateProgramDefinition, DeleteProgramDefinitionOptions, GetProgramDefinitionByExternalIdAndNamespaceOptions, GetProgramDefinitionByExternalIdAndNamespaceResponse, ProgramDefinitionsQueryBuilder } from './index.typings.js';
3
+ export { ActionEvent, Cascade, CascadeWithLiterals, CreateProgramDefinitionRequest, CreateProgramDefinitionResponse, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DeleteProgramDefinitionRequest, DeleteProgramDefinitionResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, ExtendedFields, GetOrCreateProgramDefinitionRequest, GetOrCreateProgramDefinitionResponse, GetProgramDefinitionByExternalIdAndNamespaceRequest, GetProgramDefinitionRequest, GetProgramDefinitionResponse, IdentificationData, IdentificationDataIdOneOf, MessageEnvelope, ProgramDefinitionsQueryResult, QueryProgramDefinitionsRequest, QueryProgramDefinitionsResponse, RestoreInfo, SortOrder, SortOrderWithLiterals, Sorting, UpdateProgramDefinitionRequest, UpdateProgramDefinitionResponse, UpsertProgramDefinitionRequest, UpsertProgramDefinitionResponse, WebhookIdentityType, WebhookIdentityTypeWithLiterals } from './index.typings.js';
4
4
 
5
5
  declare function createProgramDefinition$1(httpClient: HttpClient): CreateProgramDefinitionSignature;
6
6
  interface CreateProgramDefinitionSignature {
@@ -9,7 +9,7 @@ interface CreateProgramDefinitionSignature {
9
9
  * @param - Program definition to create.
10
10
  * @returns Created program definition.
11
11
  */
12
- (programDefinition: ProgramDefinition): Promise<ProgramDefinition>;
12
+ (programDefinition: NonNullablePaths<ProgramDefinition, `externalId` | `namespace`, 2>): Promise<ProgramDefinition>;
13
13
  }
14
14
  declare function updateProgramDefinition$1(httpClient: HttpClient): UpdateProgramDefinitionSignature;
15
15
  interface UpdateProgramDefinitionSignature {
@@ -24,7 +24,7 @@ interface UpdateProgramDefinitionSignature {
24
24
  * @param - Program definition ID.
25
25
  * @returns Updated program definition.
26
26
  */
27
- (_id: string, programDefinition: UpdateProgramDefinition): Promise<ProgramDefinition>;
27
+ (_id: string, programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`, 2>): Promise<ProgramDefinition>;
28
28
  }
29
29
  declare function deleteProgramDefinition$1(httpClient: HttpClient): DeleteProgramDefinitionSignature;
30
30
  interface DeleteProgramDefinitionSignature {
@@ -32,7 +32,7 @@ interface DeleteProgramDefinitionSignature {
32
32
  * Deletes a program definition.
33
33
  * @param - ID of the program definition to delete.
34
34
  */
35
- (programDefinitionId: string, options?: DeleteProgramDefinitionOptions | undefined): Promise<void>;
35
+ (programDefinitionId: string, options?: DeleteProgramDefinitionOptions): Promise<void>;
36
36
  }
37
37
  declare function getProgramDefinition$1(httpClient: HttpClient): GetProgramDefinitionSignature;
38
38
  interface GetProgramDefinitionSignature {
@@ -49,7 +49,7 @@ interface GetProgramDefinitionByExternalIdAndNamespaceSignature {
49
49
  * Retrieves a program definition with the specified external ID and namespace.
50
50
  * @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.
51
51
  */
52
- (namespace: string, options: GetProgramDefinitionByExternalIdAndNamespaceOptions): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse>;
52
+ (namespace: string, options: NonNullablePaths<GetProgramDefinitionByExternalIdAndNamespaceOptions, `externalId`, 2>): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse>;
53
53
  }
54
54
  declare function queryProgramDefinitions$1(httpClient: HttpClient): QueryProgramDefinitionsSignature;
55
55
  interface QueryProgramDefinitionsSignature {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/benefit-programs-v1-program-definition-program-definitions.universal.ts","../../src/benefit-programs-v1-program-definition-program-definitions.http.ts","../../src/benefit-programs-v1-program-definition-program-definitions.public.ts","../../src/benefit-programs-v1-program-definition-program-definitions.context.ts"],"sourcesContent":["export * from './src/benefit-programs-v1-program-definition-program-definitions.context.js';\n","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 { HttpClient, HttpResponse, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1ProgramDefinition from './benefit-programs-v1-program-definition-program-definitions.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface ProgramDefinition {\n /**\n * Program definition ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program definition is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the program definition.\n *\n * Ignored when creating a program definition.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program definition was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program definition was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program definition name.\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 * @immutable\n * @readonly\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string | null;\n /**\n * Custom field data for the program definition 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 definition defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n}\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 CreateProgramDefinitionRequest {\n /** Program definition to create. */\n programDefinition: ProgramDefinition;\n}\n\nexport interface CreateProgramDefinitionResponse {\n /** Created program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface UpdateProgramDefinitionRequest {\n /** Program definition to update. */\n programDefinition: ProgramDefinition;\n}\n\nexport interface UpdateProgramDefinitionResponse {\n /** Updated program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface DeleteProgramDefinitionRequest {\n /**\n * ID of the program definition to delete.\n * @format GUID\n */\n programDefinitionId: string;\n /** Determines when the changes to this program definition will be applied to associated programs and pools. */\n cascadeType?: CascadeWithLiterals;\n}\n\nexport enum Cascade {\n /** Unknown cascade. */\n UNKNOWN_CASCADE = 'UNKNOWN_CASCADE',\n /** Changes are applied to existing programs and pools when they are next renewed. */\n NEXT_RENEWAL = 'NEXT_RENEWAL',\n /** Changes are applied to associated programs and pools immediately. */\n IMMEDIATELY = 'IMMEDIATELY',\n /** Changes are not applied to existing associated programs and pools. They are only applied to future programs and pools. */\n FUTURE_PROVISIONS = 'FUTURE_PROVISIONS',\n}\n\n/** @enumType */\nexport type CascadeWithLiterals =\n | Cascade\n | 'UNKNOWN_CASCADE'\n | 'NEXT_RENEWAL'\n | 'IMMEDIATELY'\n | 'FUTURE_PROVISIONS';\n\nexport interface DeleteProgramDefinitionResponse {}\n\nexport interface GetProgramDefinitionRequest {\n /**\n * ID of the program definition to retrieve.\n * @format GUID\n */\n programDefinitionId: string;\n}\n\nexport interface GetProgramDefinitionResponse {\n /** Retrieved program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface GetProgramDefinitionByExternalIdAndNamespaceRequest {\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 definition external ID.\n * @format GUID\n */\n externalId: string;\n}\n\nexport interface GetProgramDefinitionByExternalIdAndNamespaceResponse {\n /** Retrieved program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface QueryProgramDefinitionsRequest {\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\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 QueryProgramDefinitionsResponse {\n /** List of retrieved program definitions. */\n programDefinitions?: ProgramDefinition[];\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 UpsertProgramDefinitionRequest {\n /** Program definition to be created or updated. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface UpsertProgramDefinitionResponse {\n /** Created or updated program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface GetOrCreateProgramDefinitionRequest {\n /**\n * Application sub-module that represents the source of the program definition. Specified by the external developer. This namespace is used to handle and retrieve program definition and associated programs.\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string;\n /**\n * External program definition ID.\n * @format GUID\n */\n externalId?: string;\n}\n\nexport interface GetOrCreateProgramDefinitionResponse {\n /** The created or updated program definition. */\n programDefinition?: ProgramDefinition;\n}\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}\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\n/**\n * Creates a program definition.\n * @param programDefinition - Program definition to create.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinition\n * @requiredField programDefinition.externalId\n * @requiredField programDefinition.namespace\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_CREATE\n * @applicableIdentity APP\n * @returns Created program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.CreateProgramDefinition\n */\nexport async function createProgramDefinition(\n programDefinition: NonNullablePaths<\n ProgramDefinition,\n `externalId` | `namespace`\n >\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinition: programDefinition,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.createProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programDefinition: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programDefinition']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a program definition.\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 definition ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField programDefinition\n * @requiredField programDefinition.revision\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_UPDATE\n * @applicableIdentity APP\n * @returns Updated program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.UpdateProgramDefinition\n */\nexport async function updateProgramDefinition(\n _id: string,\n programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`>\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinition: { ...programDefinition, id: _id },\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.updateProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { programDefinition: '$[1]' },\n explicitPathsToArguments: { 'programDefinition.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'programDefinition']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProgramDefinition {\n /**\n * Program definition ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program definition is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the program definition.\n *\n * Ignored when creating a program definition.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program definition was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program definition was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program definition name.\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 * @immutable\n * @readonly\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string | null;\n /**\n * Custom field data for the program definition 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 definition defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n}\n\n/**\n * Deletes a program definition.\n * @param programDefinitionId - ID of the program definition to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinitionId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_DELETE\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.DeleteProgramDefinition\n */\nexport async function deleteProgramDefinition(\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinitionId: programDefinitionId,\n cascadeType: options?.cascadeType,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.deleteProgramDefinition(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programDefinitionId: '$[0]',\n cascadeType: '$[1].cascadeType',\n },\n singleArgumentUnchanged: false,\n },\n ['programDefinitionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeleteProgramDefinitionOptions {\n /** Determines when the changes to this program definition will be applied to associated programs and pools. */\n cascadeType?: CascadeWithLiterals;\n}\n\n/**\n * Retrieves a program definition.\n * @param programDefinitionId - ID of the program definition to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinitionId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @returns Retrieved program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinition\n */\nexport async function getProgramDefinition(\n programDefinitionId: string\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinitionId: programDefinitionId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.getProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programDefinitionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programDefinitionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a program definition 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 * @documentationMaturity preview\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.externalId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinitionByExternalIdAndNamespace\n */\nexport async function getProgramDefinitionByExternalIdAndNamespace(\n namespace: string,\n options: NonNullablePaths<\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n `externalId`\n >\n): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse> {\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 ambassadorWixBenefitProgramsV1ProgramDefinition.getProgramDefinitionByExternalIdAndNamespace(\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 GetProgramDefinitionByExternalIdAndNamespaceOptions {\n /**\n * Program definition external ID.\n * @format GUID\n */\n externalId: string;\n}\n\n/**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n * @public\n * @documentationMaturity preview\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.QueryProgramDefinitions\n */\nexport function queryProgramDefinitions(): ProgramDefinitionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n ProgramDefinition,\n 'CURSOR',\n QueryProgramDefinitionsRequest,\n QueryProgramDefinitionsResponse\n >({\n func: async (payload: QueryProgramDefinitionsRequest) => {\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.queryProgramDefinitions(\n payload\n );\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: QueryProgramDefinitionsRequest['query']) => {\n const args = [query, {}] as [QueryProgramDefinitionsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QueryProgramDefinitionsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.programDefinitions,\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 ProgramDefinitionsQueryResult extends QueryCursorResult {\n items: ProgramDefinition[];\n query: ProgramDefinitionsQueryBuilder;\n next: () => Promise<ProgramDefinitionsQueryResult>;\n prev: () => Promise<ProgramDefinitionsQueryResult>;\n}\n\nexport interface ProgramDefinitionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName: '_id' | 'namespace' | 'externalId',\n value: string\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any[]\n ) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: boolean\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<'_id' | '_createdDate' | 'namespace' | 'externalId'>\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<'_id' | '_createdDate' | 'namespace' | 'externalId'>\n ) => ProgramDefinitionsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => ProgramDefinitionsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<ProgramDefinitionsQueryResult>;\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 resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/program-definitions',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n {\n srcPath: '/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n '*.pub.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_program-definitions';\n\n/** Creates a program definition. */\nexport function createProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __createProgramDefinition({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.CreateProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n { protoPath: '/v1/program-definitions', data: serializedData, host }\n ),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createProgramDefinition;\n}\n\n/**\n * Updates a program definition.\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 updateProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateProgramDefinition({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'PATCH' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.UpdateProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinition.id}',\n data: serializedData,\n host,\n }\n ),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProgramDefinition;\n}\n\n/** Deletes a program definition. */\nexport function deleteProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __deleteProgramDefinition({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'DELETE' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.DeleteProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinitionId}',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteProgramDefinition;\n}\n\n/** Retrieves a program definition. */\nexport function getProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramDefinition({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinitionId}',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramDefinition;\n}\n\n/** Retrieves a program definition with the specified external ID and namespace. */\nexport function getProgramDefinitionByExternalIdAndNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramDefinitionByExternalIdAndNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinitionByExternalIdAndNamespace',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/by-namespace-and-external-id',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramDefinitionByExternalIdAndNamespace;\n}\n\n/**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n */\nexport function queryProgramDefinitions(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryProgramDefinitions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.QueryProgramDefinitions',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n { protoPath: '/v1/program-definitions/query', data: payload, host }\n ),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinitions.createdDate' },\n { path: 'programDefinitions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryProgramDefinitions;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n DeleteProgramDefinitionOptions,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n ProgramDefinition,\n ProgramDefinitionsQueryBuilder,\n UpdateProgramDefinition,\n createProgramDefinition as universalCreateProgramDefinition,\n deleteProgramDefinition as universalDeleteProgramDefinition,\n getProgramDefinition as universalGetProgramDefinition,\n getProgramDefinitionByExternalIdAndNamespace as universalGetProgramDefinitionByExternalIdAndNamespace,\n queryProgramDefinitions as universalQueryProgramDefinitions,\n updateProgramDefinition as universalUpdateProgramDefinition,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/benefit-programs' };\n\nexport function createProgramDefinition(\n httpClient: HttpClient\n): CreateProgramDefinitionSignature {\n return (\n programDefinition: NonNullablePaths<\n ProgramDefinition,\n `externalId` | `namespace`\n >\n ) =>\n universalCreateProgramDefinition(\n programDefinition,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateProgramDefinitionSignature {\n /**\n * Creates a program definition.\n * @param - Program definition to create.\n * @returns Created program definition.\n */\n (programDefinition: ProgramDefinition): Promise<ProgramDefinition>;\n}\n\nexport function updateProgramDefinition(\n httpClient: HttpClient\n): UpdateProgramDefinitionSignature {\n return (\n _id: string,\n programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`>\n ) =>\n universalUpdateProgramDefinition(\n _id,\n programDefinition,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateProgramDefinitionSignature {\n /**\n * Updates a program definition.\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 definition ID.\n * @returns Updated program definition.\n */\n (\n _id: string,\n programDefinition: UpdateProgramDefinition\n ): Promise<ProgramDefinition>;\n}\n\nexport function deleteProgramDefinition(\n httpClient: HttpClient\n): DeleteProgramDefinitionSignature {\n return (\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions\n ) =>\n universalDeleteProgramDefinition(\n programDefinitionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteProgramDefinitionSignature {\n /**\n * Deletes a program definition.\n * @param - ID of the program definition to delete.\n */\n (\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions | undefined\n ): Promise<void>;\n}\n\nexport function getProgramDefinition(\n httpClient: HttpClient\n): GetProgramDefinitionSignature {\n return (programDefinitionId: string) =>\n universalGetProgramDefinition(\n programDefinitionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramDefinitionSignature {\n /**\n * Retrieves a program definition.\n * @param - ID of the program definition to retrieve.\n * @returns Retrieved program definition.\n */\n (programDefinitionId: string): Promise<ProgramDefinition>;\n}\n\nexport function getProgramDefinitionByExternalIdAndNamespace(\n httpClient: HttpClient\n): GetProgramDefinitionByExternalIdAndNamespaceSignature {\n return (\n namespace: string,\n options: NonNullablePaths<\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n `externalId`\n >\n ) =>\n universalGetProgramDefinitionByExternalIdAndNamespace(\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramDefinitionByExternalIdAndNamespaceSignature {\n /**\n * Retrieves a program definition 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: GetProgramDefinitionByExternalIdAndNamespaceOptions\n ): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse>;\n}\n\nexport function queryProgramDefinitions(\n httpClient: HttpClient\n): QueryProgramDefinitionsSignature {\n return () =>\n universalQueryProgramDefinitions(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryProgramDefinitionsSignature {\n /**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n */\n (): ProgramDefinitionsQueryBuilder;\n}\n\nexport {\n ActionEvent,\n Cascade,\n CreateProgramDefinitionRequest,\n CreateProgramDefinitionResponse,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DeleteProgramDefinitionOptions,\n DeleteProgramDefinitionRequest,\n DeleteProgramDefinitionResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ExtendedFields,\n GetOrCreateProgramDefinitionRequest,\n GetOrCreateProgramDefinitionResponse,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n GetProgramDefinitionByExternalIdAndNamespaceRequest,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n GetProgramDefinitionRequest,\n GetProgramDefinitionResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n MessageEnvelope,\n ProgramDefinition,\n ProgramDefinitionsQueryBuilder,\n ProgramDefinitionsQueryResult,\n QueryProgramDefinitionsRequest,\n QueryProgramDefinitionsResponse,\n RestoreInfo,\n SortOrder,\n Sorting,\n UpdateProgramDefinition,\n UpdateProgramDefinitionRequest,\n UpdateProgramDefinitionResponse,\n UpsertProgramDefinitionRequest,\n UpsertProgramDefinitionResponse,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n","import {\n createProgramDefinition as publicCreateProgramDefinition,\n updateProgramDefinition as publicUpdateProgramDefinition,\n deleteProgramDefinition as publicDeleteProgramDefinition,\n getProgramDefinition as publicGetProgramDefinition,\n getProgramDefinitionByExternalIdAndNamespace as publicGetProgramDefinitionByExternalIdAndNamespace,\n queryProgramDefinitions as publicQueryProgramDefinitions,\n} from './benefit-programs-v1-program-definition-program-definitions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicCreateProgramDefinition> &\n typeof publicCreateProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicCreateProgramDefinition);\nexport const updateProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicUpdateProgramDefinition> &\n typeof publicUpdateProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicUpdateProgramDefinition);\nexport const deleteProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicDeleteProgramDefinition> &\n typeof publicDeleteProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicDeleteProgramDefinition);\nexport const getProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramDefinition> &\n typeof publicGetProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicGetProgramDefinition);\nexport const getProgramDefinitionByExternalIdAndNamespace: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramDefinitionByExternalIdAndNamespace> &\n typeof publicGetProgramDefinitionByExternalIdAndNamespace\n> = /*#__PURE__*/ createRESTModule(\n publicGetProgramDefinitionByExternalIdAndNamespace\n);\nexport const queryProgramDefinitions: MaybeContext<\n BuildRESTFunction<typeof publicQueryProgramDefinitions> &\n typeof publicQueryProgramDefinitions\n> = /*#__PURE__*/ createRESTModule(publicQueryProgramDefinitions);\n\nexport {\n Cascade,\n SortOrder,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\nexport {\n ProgramDefinition,\n ExtendedFields,\n CreateProgramDefinitionRequest,\n CreateProgramDefinitionResponse,\n UpdateProgramDefinitionRequest,\n UpdateProgramDefinitionResponse,\n DeleteProgramDefinitionRequest,\n DeleteProgramDefinitionResponse,\n GetProgramDefinitionRequest,\n GetProgramDefinitionResponse,\n GetProgramDefinitionByExternalIdAndNamespaceRequest,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n QueryProgramDefinitionsRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryProgramDefinitionsResponse,\n CursorPagingMetadata,\n Cursors,\n UpsertProgramDefinitionRequest,\n UpsertProgramDefinitionResponse,\n GetOrCreateProgramDefinitionRequest,\n GetOrCreateProgramDefinitionResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n UpdateProgramDefinition,\n DeleteProgramDefinitionOptions,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n ProgramDefinitionsQueryResult,\n ProgramDefinitionsQueryBuilder,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n"],"mappings":"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","names":["createProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","updateProgramDefinition","import_timestamp","import_rest_modules","payload","import_transform_paths","Cascade","SortOrder","WebhookIdentityType","createProgramDefinition","sdkTransformError","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","createProgramDefinition","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","import_rest_modules","createProgramDefinition","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/benefit-programs-v1-program-definition-program-definitions.universal.ts","../../src/benefit-programs-v1-program-definition-program-definitions.http.ts","../../src/benefit-programs-v1-program-definition-program-definitions.public.ts","../../src/benefit-programs-v1-program-definition-program-definitions.context.ts"],"sourcesContent":["export * from './src/benefit-programs-v1-program-definition-program-definitions.context.js';\n","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 { HttpClient, HttpResponse, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1ProgramDefinition from './benefit-programs-v1-program-definition-program-definitions.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface ProgramDefinition {\n /**\n * Program definition ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program definition is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the program definition.\n *\n * Ignored when creating a program definition.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program definition was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program definition was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program definition name.\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 * @immutable\n * @readonly\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string | null;\n /**\n * Custom field data for the program definition 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 definition defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n}\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 CreateProgramDefinitionRequest {\n /** Program definition to create. */\n programDefinition: ProgramDefinition;\n}\n\nexport interface CreateProgramDefinitionResponse {\n /** Created program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface UpdateProgramDefinitionRequest {\n /** Program definition to update. */\n programDefinition: ProgramDefinition;\n}\n\nexport interface UpdateProgramDefinitionResponse {\n /** Updated program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface DeleteProgramDefinitionRequest {\n /**\n * ID of the program definition to delete.\n * @format GUID\n */\n programDefinitionId: string;\n /** Determines when the changes to this program definition will be applied to associated programs and pools. */\n cascadeType?: CascadeWithLiterals;\n}\n\nexport enum Cascade {\n /** Unknown cascade. */\n UNKNOWN_CASCADE = 'UNKNOWN_CASCADE',\n /** Changes are applied to existing programs and pools when they are next renewed. */\n NEXT_RENEWAL = 'NEXT_RENEWAL',\n /** Changes are applied to associated programs and pools immediately. */\n IMMEDIATELY = 'IMMEDIATELY',\n /** Changes are not applied to existing associated programs and pools. They are only applied to future programs and pools. */\n FUTURE_PROVISIONS = 'FUTURE_PROVISIONS',\n}\n\n/** @enumType */\nexport type CascadeWithLiterals =\n | Cascade\n | 'UNKNOWN_CASCADE'\n | 'NEXT_RENEWAL'\n | 'IMMEDIATELY'\n | 'FUTURE_PROVISIONS';\n\nexport interface DeleteProgramDefinitionResponse {}\n\nexport interface GetProgramDefinitionRequest {\n /**\n * ID of the program definition to retrieve.\n * @format GUID\n */\n programDefinitionId: string;\n}\n\nexport interface GetProgramDefinitionResponse {\n /** Retrieved program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface GetProgramDefinitionByExternalIdAndNamespaceRequest {\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 definition external ID.\n * @format GUID\n */\n externalId: string;\n}\n\nexport interface GetProgramDefinitionByExternalIdAndNamespaceResponse {\n /** Retrieved program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface QueryProgramDefinitionsRequest {\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\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 QueryProgramDefinitionsResponse {\n /** List of retrieved program definitions. */\n programDefinitions?: ProgramDefinition[];\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 UpsertProgramDefinitionRequest {\n /** Program definition to be created or updated. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface UpsertProgramDefinitionResponse {\n /** Created or updated program definition. */\n programDefinition?: ProgramDefinition;\n}\n\nexport interface GetOrCreateProgramDefinitionRequest {\n /**\n * Application sub-module that represents the source of the program definition. Specified by the external developer. This namespace is used to handle and retrieve program definition and associated programs.\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string;\n /**\n * External program definition ID.\n * @format GUID\n */\n externalId?: string;\n}\n\nexport interface GetOrCreateProgramDefinitionResponse {\n /** The created or updated program definition. */\n programDefinition?: ProgramDefinition;\n}\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}\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\n/**\n * Creates a program definition.\n * @param programDefinition - Program definition to create.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinition\n * @requiredField programDefinition.externalId\n * @requiredField programDefinition.namespace\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_CREATE\n * @applicableIdentity APP\n * @returns Created program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.CreateProgramDefinition\n */\nexport async function createProgramDefinition(\n programDefinition: NonNullablePaths<\n ProgramDefinition,\n `externalId` | `namespace`,\n 2\n >\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinition: programDefinition,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.createProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programDefinition: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programDefinition']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a program definition.\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 definition ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField programDefinition\n * @requiredField programDefinition.revision\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_UPDATE\n * @applicableIdentity APP\n * @returns Updated program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.UpdateProgramDefinition\n */\nexport async function updateProgramDefinition(\n _id: string,\n programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`, 2>\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinition: { ...programDefinition, id: _id },\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.updateProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { programDefinition: '$[1]' },\n explicitPathsToArguments: { 'programDefinition.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'programDefinition']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProgramDefinition {\n /**\n * Program definition ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the program definition is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the program definition.\n *\n * Ignored when creating a program definition.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the program definition was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the program definition was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program definition name.\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 * @immutable\n * @readonly\n * @minLength 1\n * @maxLength 20\n */\n namespace?: string | null;\n /**\n * Custom field data for the program definition 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 definition defined by you. You can use `externalId` to filter queries.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string | null;\n}\n\n/**\n * Deletes a program definition.\n * @param programDefinitionId - ID of the program definition to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinitionId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_DELETE\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.DeleteProgramDefinition\n */\nexport async function deleteProgramDefinition(\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinitionId: programDefinitionId,\n cascadeType: options?.cascadeType,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.deleteProgramDefinition(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programDefinitionId: '$[0]',\n cascadeType: '$[1].cascadeType',\n },\n singleArgumentUnchanged: false,\n },\n ['programDefinitionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeleteProgramDefinitionOptions {\n /** Determines when the changes to this program definition will be applied to associated programs and pools. */\n cascadeType?: CascadeWithLiterals;\n}\n\n/**\n * Retrieves a program definition.\n * @param programDefinitionId - ID of the program definition to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField programDefinitionId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @returns Retrieved program definition.\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinition\n */\nexport async function getProgramDefinition(\n programDefinitionId: string\n): Promise<ProgramDefinition> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programDefinitionId: programDefinitionId,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.getProgramDefinition(\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 ?.programDefinition!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programDefinitionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programDefinitionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a program definition 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 * @documentationMaturity preview\n * @requiredField namespace\n * @requiredField options\n * @requiredField options.externalId\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinitionByExternalIdAndNamespace\n */\nexport async function getProgramDefinitionByExternalIdAndNamespace(\n namespace: string,\n options: NonNullablePaths<\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse> {\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 ambassadorWixBenefitProgramsV1ProgramDefinition.getProgramDefinitionByExternalIdAndNamespace(\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 GetProgramDefinitionByExternalIdAndNamespaceOptions {\n /**\n * Program definition external ID.\n * @format GUID\n */\n externalId: string;\n}\n\n/**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n * @public\n * @documentationMaturity preview\n * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.QueryProgramDefinitions\n */\nexport function queryProgramDefinitions(): ProgramDefinitionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n ProgramDefinition,\n 'CURSOR',\n QueryProgramDefinitionsRequest,\n QueryProgramDefinitionsResponse\n >({\n func: async (payload: QueryProgramDefinitionsRequest) => {\n const reqOpts =\n ambassadorWixBenefitProgramsV1ProgramDefinition.queryProgramDefinitions(\n payload\n );\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: QueryProgramDefinitionsRequest['query']) => {\n const args = [query, {}] as [QueryProgramDefinitionsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QueryProgramDefinitionsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.programDefinitions,\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 ProgramDefinitionsQueryResult extends QueryCursorResult {\n items: ProgramDefinition[];\n query: ProgramDefinitionsQueryBuilder;\n next: () => Promise<ProgramDefinitionsQueryResult>;\n prev: () => Promise<ProgramDefinitionsQueryResult>;\n}\n\nexport interface ProgramDefinitionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName: '_id' | 'namespace' | 'externalId',\n value: string\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any[]\n ) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: any\n ) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | '_createdDate' | 'namespace' | 'externalId',\n value: boolean\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<'_id' | '_createdDate' | 'namespace' | 'externalId'>\n ) => ProgramDefinitionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<'_id' | '_createdDate' | 'namespace' | 'externalId'>\n ) => ProgramDefinitionsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => ProgramDefinitionsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => ProgramDefinitionsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<ProgramDefinitionsQueryResult>;\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 resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/program-definitions',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/benefit-programs-program-definitions',\n destPath: '',\n },\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n {\n srcPath: '/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n '*.pub.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/program-definitions',\n destPath: '/v1/program-definitions',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_program-definitions';\n\n/** Creates a program definition. */\nexport function createProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __createProgramDefinition({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.CreateProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n { protoPath: '/v1/program-definitions', data: serializedData, host }\n ),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createProgramDefinition;\n}\n\n/**\n * Updates a program definition.\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 updateProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateProgramDefinition({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'PATCH' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.UpdateProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinition.id}',\n data: serializedData,\n host,\n }\n ),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProgramDefinition;\n}\n\n/** Deletes a program definition. */\nexport function deleteProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __deleteProgramDefinition({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'DELETE' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.DeleteProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinitionId}',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteProgramDefinition;\n}\n\n/** Retrieves a program definition. */\nexport function getProgramDefinition(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramDefinition({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinition',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/{programDefinitionId}',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramDefinition;\n}\n\n/** Retrieves a program definition with the specified external ID and namespace. */\nexport function getProgramDefinitionByExternalIdAndNamespace(\n payload: object\n): RequestOptionsFactory<any> {\n function __getProgramDefinitionByExternalIdAndNamespace({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'GET' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinitionByExternalIdAndNamespace',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n {\n protoPath: '/v1/program-definitions/by-namespace-and-external-id',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinition.createdDate' },\n { path: 'programDefinition.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProgramDefinitionByExternalIdAndNamespace;\n}\n\n/**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n */\nexport function queryProgramDefinitions(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryProgramDefinitions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.program_definition',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.program_definition.ProgramDefinitionService.QueryProgramDefinitions',\n packageName: PACKAGE_NAME,\n url: resolveWixBenefitProgramsV1ProgramDefinitionProgramDefinitionServiceUrl(\n { protoPath: '/v1/program-definitions/query', data: payload, host }\n ),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'programDefinitions.createdDate' },\n { path: 'programDefinitions.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryProgramDefinitions;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n DeleteProgramDefinitionOptions,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n ProgramDefinition,\n ProgramDefinitionsQueryBuilder,\n UpdateProgramDefinition,\n createProgramDefinition as universalCreateProgramDefinition,\n deleteProgramDefinition as universalDeleteProgramDefinition,\n getProgramDefinition as universalGetProgramDefinition,\n getProgramDefinitionByExternalIdAndNamespace as universalGetProgramDefinitionByExternalIdAndNamespace,\n queryProgramDefinitions as universalQueryProgramDefinitions,\n updateProgramDefinition as universalUpdateProgramDefinition,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/benefit-programs' };\n\nexport function createProgramDefinition(\n httpClient: HttpClient\n): CreateProgramDefinitionSignature {\n return (\n programDefinition: NonNullablePaths<\n ProgramDefinition,\n `externalId` | `namespace`,\n 2\n >\n ) =>\n universalCreateProgramDefinition(\n programDefinition,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateProgramDefinitionSignature {\n /**\n * Creates a program definition.\n * @param - Program definition to create.\n * @returns Created program definition.\n */\n (\n programDefinition: NonNullablePaths<\n ProgramDefinition,\n `externalId` | `namespace`,\n 2\n >\n ): Promise<ProgramDefinition>;\n}\n\nexport function updateProgramDefinition(\n httpClient: HttpClient\n): UpdateProgramDefinitionSignature {\n return (\n _id: string,\n programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`, 2>\n ) =>\n universalUpdateProgramDefinition(\n _id,\n programDefinition,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateProgramDefinitionSignature {\n /**\n * Updates a program definition.\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 definition ID.\n * @returns Updated program definition.\n */\n (\n _id: string,\n programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`, 2>\n ): Promise<ProgramDefinition>;\n}\n\nexport function deleteProgramDefinition(\n httpClient: HttpClient\n): DeleteProgramDefinitionSignature {\n return (\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions\n ) =>\n universalDeleteProgramDefinition(\n programDefinitionId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteProgramDefinitionSignature {\n /**\n * Deletes a program definition.\n * @param - ID of the program definition to delete.\n */\n (\n programDefinitionId: string,\n options?: DeleteProgramDefinitionOptions\n ): Promise<void>;\n}\n\nexport function getProgramDefinition(\n httpClient: HttpClient\n): GetProgramDefinitionSignature {\n return (programDefinitionId: string) =>\n universalGetProgramDefinition(\n programDefinitionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramDefinitionSignature {\n /**\n * Retrieves a program definition.\n * @param - ID of the program definition to retrieve.\n * @returns Retrieved program definition.\n */\n (programDefinitionId: string): Promise<ProgramDefinition>;\n}\n\nexport function getProgramDefinitionByExternalIdAndNamespace(\n httpClient: HttpClient\n): GetProgramDefinitionByExternalIdAndNamespaceSignature {\n return (\n namespace: string,\n options: NonNullablePaths<\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n ) =>\n universalGetProgramDefinitionByExternalIdAndNamespace(\n namespace,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetProgramDefinitionByExternalIdAndNamespaceSignature {\n /**\n * Retrieves a program definition 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 GetProgramDefinitionByExternalIdAndNamespaceOptions,\n `externalId`,\n 2\n >\n ): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse>;\n}\n\nexport function queryProgramDefinitions(\n httpClient: HttpClient\n): QueryProgramDefinitionsSignature {\n return () =>\n universalQueryProgramDefinitions(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryProgramDefinitionsSignature {\n /**\n * Creates a query to retrieve a list of program definitions.\n *\n * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` 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 `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.\n *\n * Query Program Definitions 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 `ProgramDefinitionsQueryResult`.\n */\n (): ProgramDefinitionsQueryBuilder;\n}\n\nexport {\n ActionEvent,\n Cascade,\n CreateProgramDefinitionRequest,\n CreateProgramDefinitionResponse,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DeleteProgramDefinitionOptions,\n DeleteProgramDefinitionRequest,\n DeleteProgramDefinitionResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n ExtendedFields,\n GetOrCreateProgramDefinitionRequest,\n GetOrCreateProgramDefinitionResponse,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n GetProgramDefinitionByExternalIdAndNamespaceRequest,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n GetProgramDefinitionRequest,\n GetProgramDefinitionResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n MessageEnvelope,\n ProgramDefinition,\n ProgramDefinitionsQueryBuilder,\n ProgramDefinitionsQueryResult,\n QueryProgramDefinitionsRequest,\n QueryProgramDefinitionsResponse,\n RestoreInfo,\n SortOrder,\n Sorting,\n UpdateProgramDefinition,\n UpdateProgramDefinitionRequest,\n UpdateProgramDefinitionResponse,\n UpsertProgramDefinitionRequest,\n UpsertProgramDefinitionResponse,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n","import {\n createProgramDefinition as publicCreateProgramDefinition,\n updateProgramDefinition as publicUpdateProgramDefinition,\n deleteProgramDefinition as publicDeleteProgramDefinition,\n getProgramDefinition as publicGetProgramDefinition,\n getProgramDefinitionByExternalIdAndNamespace as publicGetProgramDefinitionByExternalIdAndNamespace,\n queryProgramDefinitions as publicQueryProgramDefinitions,\n} from './benefit-programs-v1-program-definition-program-definitions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicCreateProgramDefinition> &\n typeof publicCreateProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicCreateProgramDefinition);\nexport const updateProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicUpdateProgramDefinition> &\n typeof publicUpdateProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicUpdateProgramDefinition);\nexport const deleteProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicDeleteProgramDefinition> &\n typeof publicDeleteProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicDeleteProgramDefinition);\nexport const getProgramDefinition: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramDefinition> &\n typeof publicGetProgramDefinition\n> = /*#__PURE__*/ createRESTModule(publicGetProgramDefinition);\nexport const getProgramDefinitionByExternalIdAndNamespace: MaybeContext<\n BuildRESTFunction<typeof publicGetProgramDefinitionByExternalIdAndNamespace> &\n typeof publicGetProgramDefinitionByExternalIdAndNamespace\n> = /*#__PURE__*/ createRESTModule(\n publicGetProgramDefinitionByExternalIdAndNamespace\n);\nexport const queryProgramDefinitions: MaybeContext<\n BuildRESTFunction<typeof publicQueryProgramDefinitions> &\n typeof publicQueryProgramDefinitions\n> = /*#__PURE__*/ createRESTModule(publicQueryProgramDefinitions);\n\nexport {\n Cascade,\n SortOrder,\n WebhookIdentityType,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\nexport {\n ProgramDefinition,\n ExtendedFields,\n CreateProgramDefinitionRequest,\n CreateProgramDefinitionResponse,\n UpdateProgramDefinitionRequest,\n UpdateProgramDefinitionResponse,\n DeleteProgramDefinitionRequest,\n DeleteProgramDefinitionResponse,\n GetProgramDefinitionRequest,\n GetProgramDefinitionResponse,\n GetProgramDefinitionByExternalIdAndNamespaceRequest,\n GetProgramDefinitionByExternalIdAndNamespaceResponse,\n QueryProgramDefinitionsRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryProgramDefinitionsResponse,\n CursorPagingMetadata,\n Cursors,\n UpsertProgramDefinitionRequest,\n UpsertProgramDefinitionResponse,\n GetOrCreateProgramDefinitionRequest,\n GetOrCreateProgramDefinitionResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n UpdateProgramDefinition,\n DeleteProgramDefinitionOptions,\n GetProgramDefinitionByExternalIdAndNamespaceOptions,\n ProgramDefinitionsQueryResult,\n ProgramDefinitionsQueryBuilder,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\nexport {\n CascadeWithLiterals,\n SortOrderWithLiterals,\n WebhookIdentityTypeWithLiterals,\n} from './benefit-programs-v1-program-definition-program-definitions.universal.js';\n"],"mappings":"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","names":["createProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","updateProgramDefinition","import_timestamp","import_rest_modules","payload","import_transform_paths","Cascade","SortOrder","WebhookIdentityType","createProgramDefinition","sdkTransformError","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","createProgramDefinition","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions","import_rest_modules","createProgramDefinition","updateProgramDefinition","deleteProgramDefinition","getProgramDefinition","getProgramDefinitionByExternalIdAndNamespace","queryProgramDefinitions"]}
@@ -1,3 +1,5 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
1
3
  interface ProgramDefinition {
2
4
  /**
3
5
  * Program definition ID.
@@ -379,6 +381,40 @@ declare enum WebhookIdentityType {
379
381
  }
380
382
  /** @enumType */
381
383
  type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
384
+ /**
385
+ * Creates a program definition.
386
+ * @param programDefinition - Program definition to create.
387
+ * @public
388
+ * @documentationMaturity preview
389
+ * @requiredField programDefinition
390
+ * @requiredField programDefinition.externalId
391
+ * @requiredField programDefinition.namespace
392
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_CREATE
393
+ * @applicableIdentity APP
394
+ * @returns Created program definition.
395
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.CreateProgramDefinition
396
+ */
397
+ declare function createProgramDefinition(programDefinition: NonNullablePaths<ProgramDefinition, `externalId` | `namespace`, 2>): Promise<ProgramDefinition>;
398
+ /**
399
+ * Updates a program definition.
400
+ *
401
+ * Each time the program definition is updated,
402
+ * `revision` increments by 1.
403
+ * The current `revision` must be passed when updating the program definition.
404
+ * This ensures you're working with the latest program definition
405
+ * and prevents unintended overwrites.
406
+ * @param _id - Program definition ID.
407
+ * @public
408
+ * @documentationMaturity preview
409
+ * @requiredField _id
410
+ * @requiredField programDefinition
411
+ * @requiredField programDefinition.revision
412
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_UPDATE
413
+ * @applicableIdentity APP
414
+ * @returns Updated program definition.
415
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.UpdateProgramDefinition
416
+ */
417
+ declare function updateProgramDefinition(_id: string, programDefinition: NonNullablePaths<UpdateProgramDefinition, `revision`, 2>): Promise<ProgramDefinition>;
382
418
  interface UpdateProgramDefinition {
383
419
  /**
384
420
  * Program definition ID.
@@ -432,10 +468,48 @@ interface UpdateProgramDefinition {
432
468
  */
433
469
  externalId?: string | null;
434
470
  }
471
+ /**
472
+ * Deletes a program definition.
473
+ * @param programDefinitionId - ID of the program definition to delete.
474
+ * @public
475
+ * @documentationMaturity preview
476
+ * @requiredField programDefinitionId
477
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_DELETE
478
+ * @applicableIdentity APP
479
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.DeleteProgramDefinition
480
+ */
481
+ declare function deleteProgramDefinition(programDefinitionId: string, options?: DeleteProgramDefinitionOptions): Promise<void>;
435
482
  interface DeleteProgramDefinitionOptions {
436
483
  /** Determines when the changes to this program definition will be applied to associated programs and pools. */
437
484
  cascadeType?: CascadeWithLiterals;
438
485
  }
486
+ /**
487
+ * Retrieves a program definition.
488
+ * @param programDefinitionId - ID of the program definition to retrieve.
489
+ * @public
490
+ * @documentationMaturity preview
491
+ * @requiredField programDefinitionId
492
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ
493
+ * @applicableIdentity APP
494
+ * @applicableIdentity VISITOR
495
+ * @returns Retrieved program definition.
496
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinition
497
+ */
498
+ declare function getProgramDefinition(programDefinitionId: string): Promise<ProgramDefinition>;
499
+ /**
500
+ * Retrieves a program definition with the specified external ID and namespace.
501
+ * @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.
502
+ * @public
503
+ * @documentationMaturity preview
504
+ * @requiredField namespace
505
+ * @requiredField options
506
+ * @requiredField options.externalId
507
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ
508
+ * @applicableIdentity APP
509
+ * @applicableIdentity VISITOR
510
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.GetProgramDefinitionByExternalIdAndNamespace
511
+ */
512
+ declare function getProgramDefinitionByExternalIdAndNamespace(namespace: string, options: NonNullablePaths<GetProgramDefinitionByExternalIdAndNamespaceOptions, `externalId`, 2>): Promise<GetProgramDefinitionByExternalIdAndNamespaceResponse>;
439
513
  interface GetProgramDefinitionByExternalIdAndNamespaceOptions {
440
514
  /**
441
515
  * Program definition external ID.
@@ -443,6 +517,26 @@ interface GetProgramDefinitionByExternalIdAndNamespaceOptions {
443
517
  */
444
518
  externalId: string;
445
519
  }
520
+ /**
521
+ * Creates a query to retrieve a list of program definitions.
522
+ *
523
+ * The Query Program Definitions method builds a query to retrieve a list of program definitions and returns a `ProgramDefinitionsQueryBuilder` object.
524
+ *
525
+ * The returned object contains the query definition, which is used to run the query using the `find()` method.
526
+ *
527
+ * You can refine the query by chaining `ProgramDefinitionsQueryBuilder` methods onto the query. `ProgramDefinitionsQueryBuilder` methods enable you to filter, sort, and control the results that Query Program Definitions returns.
528
+ *
529
+ * Query Program Definitions has a default paging limit of 50, which you can override.
530
+ *
531
+ * For a full description of the item object, see the object returned for the `items` property in `ProgramDefinitionsQueryResult`.
532
+ * @public
533
+ * @documentationMaturity preview
534
+ * @permissionId BENEFIT_PROGRAMS.PROGRAM_DEFINITION_READ
535
+ * @applicableIdentity APP
536
+ * @applicableIdentity VISITOR
537
+ * @fqn wix.benefit_programs.v1.program_definition.ProgramDefinitionService.QueryProgramDefinitions
538
+ */
539
+ declare function queryProgramDefinitions(): ProgramDefinitionsQueryBuilder;
446
540
  interface QueryCursorResult {
447
541
  cursors: Cursors;
448
542
  hasNext: () => boolean;
@@ -521,4 +615,4 @@ interface ProgramDefinitionsQueryBuilder {
521
615
  find: () => Promise<ProgramDefinitionsQueryResult>;
522
616
  }
523
617
 
524
- export { type EntityDeletedEvent as A, type ActionEvent as B, Cascade as C, type DeleteProgramDefinitionOptions as D, type ExtendedFields as E, type IdentificationDataIdOneOf as F, type GetProgramDefinitionByExternalIdAndNamespaceOptions as G, type ProgramDefinitionsQueryResult as H, type IdentificationData as I, type MessageEnvelope as M, type ProgramDefinition as P, type QueryProgramDefinitionsRequest as Q, type RestoreInfo as R, SortOrder as S, type UpdateProgramDefinition as U, WebhookIdentityType as W, type GetProgramDefinitionByExternalIdAndNamespaceResponse as a, type ProgramDefinitionsQueryBuilder as b, type CreateProgramDefinitionRequest as c, type CreateProgramDefinitionResponse as d, type UpdateProgramDefinitionRequest as e, type UpdateProgramDefinitionResponse as f, type DeleteProgramDefinitionRequest as g, type DeleteProgramDefinitionResponse as h, type GetProgramDefinitionRequest as i, type GetProgramDefinitionResponse as j, type GetProgramDefinitionByExternalIdAndNamespaceRequest as k, type CursorQuery as l, type CursorQueryPagingMethodOneOf as m, type Sorting as n, type CursorPaging as o, type QueryProgramDefinitionsResponse as p, type CursorPagingMetadata as q, type Cursors as r, type UpsertProgramDefinitionRequest as s, type UpsertProgramDefinitionResponse as t, type GetOrCreateProgramDefinitionRequest as u, type GetOrCreateProgramDefinitionResponse as v, type DomainEvent as w, type DomainEventBodyOneOf as x, type EntityCreatedEvent as y, type EntityUpdatedEvent as z };
618
+ export { type ActionEvent, Cascade, type CascadeWithLiterals, type CreateProgramDefinitionRequest, type CreateProgramDefinitionResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DeleteProgramDefinitionOptions, type DeleteProgramDefinitionRequest, type DeleteProgramDefinitionResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type ExtendedFields, type GetOrCreateProgramDefinitionRequest, type GetOrCreateProgramDefinitionResponse, type GetProgramDefinitionByExternalIdAndNamespaceOptions, type GetProgramDefinitionByExternalIdAndNamespaceRequest, type GetProgramDefinitionByExternalIdAndNamespaceResponse, type GetProgramDefinitionRequest, type GetProgramDefinitionResponse, type IdentificationData, type IdentificationDataIdOneOf, type MessageEnvelope, type ProgramDefinition, type ProgramDefinitionsQueryBuilder, type ProgramDefinitionsQueryResult, type QueryProgramDefinitionsRequest, type QueryProgramDefinitionsResponse, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, type UpdateProgramDefinition, type UpdateProgramDefinitionRequest, type UpdateProgramDefinitionResponse, type UpsertProgramDefinitionRequest, type UpsertProgramDefinitionResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, createProgramDefinition, deleteProgramDefinition, getProgramDefinition, getProgramDefinitionByExternalIdAndNamespace, queryProgramDefinitions, updateProgramDefinition };