@wix/auto_sdk_categories_categories 1.0.69 → 1.0.70
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.
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.js.map +1 -1
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.mjs.map +1 -1
- package/build/internal/cjs/{categories-v1-category-categories.universal-DH-Qgmxu.d.ts → categories-v1-category-categories.universal-sddSStoo.d.ts} +1 -0
- package/build/internal/cjs/index.d.ts +2 -2
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +2 -2
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +1 -1
- package/build/internal/es/{categories-v1-category-categories.universal-DH-Qgmxu.d.mts → categories-v1-category-categories.universal-sddSStoo.d.mts} +1 -0
- package/build/internal/es/index.d.mts +2 -2
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +2 -2
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +1 -1
- package/package.json +2 -2
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/categories-v1-category-categories.public.ts","../../src/categories-v1-category-categories.universal.ts","../../src/categories-v1-category-categories.http.ts","../../src/categories-v1-category-categories.context.ts"],"sourcesContent":["export * from './src/categories-v1-category-categories.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkAddItemToCategoriesApplicationErrors,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryResponse,\n BulkRemoveItemFromCategoriesApplicationErrors,\n BulkRemoveItemFromCategoriesOptions,\n BulkRemoveItemFromCategoriesResponse,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemsFromCategoryResponse,\n BulkSetItemCategoriesApplicationErrors,\n BulkSetItemCategoriesOptions,\n BulkSetItemCategoriesResponse,\n BulkShowCategoriesOptions,\n BulkShowCategoriesResponse,\n BulkUpdateCategoriesApplicationErrors,\n BulkUpdateCategoriesOptions,\n BulkUpdateCategoriesResponse,\n CategoriesQueryBuilder,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMovedEnvelope,\n CategorySearch,\n CategoryUpdatedEnvelope,\n CountCategoriesOptions,\n CountCategoriesResponse,\n CreateCategoryApplicationErrors,\n CreateCategoryOptions,\n DeleteCategoryApplicationErrors,\n GetArrangedItemsResponse,\n GetCategoryOptions,\n ItemReference,\n ListCategoriesForItemOptions,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsOptions,\n ListCategoriesForItemsResponse,\n ListItemsInCategoryOptions,\n ListItemsInCategoryResponse,\n ListTreesResponse,\n MaskedCategory,\n MoveCategoryApplicationErrors,\n MoveCategoryOptions,\n MoveCategoryResponse,\n QueryCategoriesOptions,\n SearchCategoriesOptions,\n SearchCategoriesResponse,\n SetArrangedItemsApplicationErrors,\n SetArrangedItemsOptions,\n SetArrangedItemsResponse,\n TreeReference,\n UpdateCategory,\n UpdateCategoryApplicationErrors,\n UpdateCategoryOptions,\n UpdateCategoryVisibilityApplicationErrors,\n UpdateCategoryVisibilityOptions,\n UpdateCategoryVisibilityResponse,\n bulkAddItemToCategories as universalBulkAddItemToCategories,\n bulkAddItemsToCategory as universalBulkAddItemsToCategory,\n bulkRemoveItemFromCategories as universalBulkRemoveItemFromCategories,\n bulkRemoveItemsFromCategory as universalBulkRemoveItemsFromCategory,\n bulkSetItemCategories as universalBulkSetItemCategories,\n bulkShowCategories as universalBulkShowCategories,\n bulkUpdateCategories as universalBulkUpdateCategories,\n countCategories as universalCountCategories,\n createCategory as universalCreateCategory,\n deleteCategory as universalDeleteCategory,\n getArrangedItems as universalGetArrangedItems,\n getCategory as universalGetCategory,\n listCategoriesForItem as universalListCategoriesForItem,\n listCategoriesForItems as universalListCategoriesForItems,\n listItemsInCategory as universalListItemsInCategory,\n listTrees as universalListTrees,\n moveCategory as universalMoveCategory,\n queryCategories as universalQueryCategories,\n searchCategories as universalSearchCategories,\n setArrangedItems as universalSetArrangedItems,\n updateCategory as universalUpdateCategory,\n updateCategoryVisibility as universalUpdateCategoryVisibility,\n} from './categories-v1-category-categories.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/categories' };\n\nexport function createCategory(\n httpClient: HttpClient\n): CreateCategorySignature {\n return (\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalCreateCategory(\n category,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCategorySignature {\n /**\n * Creates a category.\n * @param - Category to create.\n * @returns Created category.\n */\n (\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n }\n >;\n}\n\nexport function getCategory(httpClient: HttpClient): GetCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n ) =>\n universalGetCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCategorySignature {\n /**\n * Retrieves a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n * @returns Category.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n >\n >;\n}\n\nexport function updateCategory(\n httpClient: HttpClient\n): UpdateCategorySignature {\n return (\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalUpdateCategory(\n _id,\n category,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCategorySignature {\n /**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - Category ID.\n * @returns Updated category.\n */\n (\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n }\n >;\n}\n\nexport function deleteCategory(\n httpClient: HttpClient\n): DeleteCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ) =>\n universalDeleteCategory(\n categoryId,\n treeReference,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCategorySignature {\n /**\n * Deletes a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ): Promise<\n void & {\n __applicationErrorsType?: DeleteCategoryApplicationErrors;\n }\n >;\n}\n\nexport function queryCategories(\n httpClient: HttpClient\n): QueryCategoriesSignature {\n return (options: QueryCategoriesOptions) =>\n universalQueryCategories(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryCategoriesSignature {\n /**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n */\n (options: QueryCategoriesOptions): CategoriesQueryBuilder;\n}\n\nexport function searchCategories(\n httpClient: HttpClient\n): SearchCategoriesSignature {\n return (\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalSearchCategories(\n search,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchCategoriesSignature {\n /**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n * @param - Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n */\n (\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n SearchCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n >;\n}\n\nexport function countCategories(\n httpClient: HttpClient\n): CountCategoriesSignature {\n return (\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalCountCategories(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountCategoriesSignature {\n /**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n */\n (\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<NonNullablePaths<CountCategoriesResponse, `count`, 2>>;\n}\n\nexport function moveCategory(httpClient: HttpClient): MoveCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n ) =>\n universalMoveCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface MoveCategorySignature {\n /**\n * Moves a category within its parent category, or to a different parent category.\n * @param - ID of the category to move.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n ): Promise<\n NonNullablePaths<MoveCategoryResponse, `categoriesAfterMove`, 2> & {\n __applicationErrorsType?: MoveCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkUpdateCategories(\n httpClient: HttpClient\n): BulkUpdateCategoriesSignature {\n return (\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkUpdateCategories(\n categories,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateCategoriesSignature {\n /**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - List of categories to update.\n */\n (\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkUpdateCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function updateCategoryVisibility(\n httpClient: HttpClient\n): UpdateCategoryVisibilitySignature {\n return (\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n ) =>\n universalUpdateCategoryVisibility(\n categoryId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCategoryVisibilitySignature {\n /**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - Category ID.\n */\n (\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n UpdateCategoryVisibilityResponse,\n | `category.itemCounter`\n | `category.breadcrumbsInfo.breadcrumbs`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `category.seoData.tags`\n | `category.seoData.tags.${number}.type`\n | `category.seoData.tags.${number}.children`\n | `category.seoData.tags.${number}.custom`\n | `category.seoData.tags.${number}.disabled`\n | `category.seoData.settings.preventAutoRedirect`\n | `category.seoData.settings.keywords`\n | `category.seoData.settings.keywords.${number}.term`\n | `category.seoData.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateCategoryVisibilityApplicationErrors;\n }\n >;\n}\n\nexport function bulkShowCategories(\n httpClient: HttpClient\n): BulkShowCategoriesSignature {\n return (\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkShowCategories(\n categoryIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkShowCategoriesSignature {\n /**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n * @param - IDs of the categories to update.\n */\n (\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkShowCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function bulkAddItemsToCategory(\n httpClient: HttpClient\n): BulkAddItemsToCategorySignature {\n return (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkAddItemsToCategory(\n categoryId,\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkAddItemsToCategorySignature {\n /**\n * Adds multiple items to a single category.\n * @param - Category ID.\n * @param - List of items to add.\n */\n (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkAddItemsToCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemsToCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkAddItemToCategories(\n httpClient: HttpClient\n): BulkAddItemToCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkAddItemToCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkAddItemToCategoriesSignature {\n /**\n * Adds a single item to multiple categories.\n * @param - Item to add.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkAddItemToCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemToCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function bulkRemoveItemsFromCategory(\n httpClient: HttpClient\n): BulkRemoveItemsFromCategorySignature {\n return (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkRemoveItemsFromCategory(\n categoryId,\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveItemsFromCategorySignature {\n /**\n * Removes multiple items from a single category.\n * @param - Category ID.\n * @param - List of items to remove.\n */\n (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkRemoveItemsFromCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemsFromCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkRemoveItemFromCategories(\n httpClient: HttpClient\n): BulkRemoveItemFromCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkRemoveItemFromCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveItemFromCategoriesSignature {\n /**\n * Removes a single item from multiple categories.\n * @param - Item to remove.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkRemoveItemFromCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemFromCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function listItemsInCategory(\n httpClient: HttpClient\n): ListItemsInCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n ) =>\n universalListItemsInCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListItemsInCategorySignature {\n /**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n ): Promise<\n NonNullablePaths<\n ListItemsInCategoryResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n >;\n}\n\nexport function listCategoriesForItem(\n httpClient: HttpClient\n): ListCategoriesForItemSignature {\n return (\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalListCategoriesForItem(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListCategoriesForItemSignature {\n /**\n * Retrieves a list of categories that contain the specified item.\n * @param - Item reference info.\n */\n (\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n ListCategoriesForItemResponse,\n `directCategoryIds` | `allCategoryIds`,\n 2\n >\n >;\n}\n\nexport function listCategoriesForItems(\n httpClient: HttpClient\n): ListCategoriesForItemsSignature {\n return (\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalListCategoriesForItems(\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListCategoriesForItemsSignature {\n /**\n * Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item.\n * @param - List of Item reference info.\n */\n (\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n ListCategoriesForItemsResponse,\n | `categoriesForItems`\n | `categoriesForItems.${number}.item.catalogItemId`\n | `categoriesForItems.${number}.item.appId`,\n 5\n >\n >;\n}\n\nexport function listTrees(httpClient: HttpClient): ListTreesSignature {\n return () =>\n universalListTrees(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListTreesSignature {\n /**\n * Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order.\n */\n (): Promise<\n NonNullablePaths<\n ListTreesResponse,\n `trees` | `trees.${number}.appNamespace`,\n 4\n >\n >;\n}\n\nexport function setArrangedItems(\n httpClient: HttpClient\n): SetArrangedItemsSignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n ) =>\n universalSetArrangedItems(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetArrangedItemsSignature {\n /**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n ): Promise<\n NonNullablePaths<\n SetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n > & {\n __applicationErrorsType?: SetArrangedItemsApplicationErrors;\n }\n >;\n}\n\nexport function getArrangedItems(\n httpClient: HttpClient\n): GetArrangedItemsSignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ) =>\n universalGetArrangedItems(\n categoryId,\n treeReference,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetArrangedItemsSignature {\n /**\n * Retrieves a list of arranged items in a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ): Promise<\n NonNullablePaths<\n GetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function bulkSetItemCategories(\n httpClient: HttpClient\n): BulkSetItemCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkSetItemCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkSetItemCategoriesSignature {\n /**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n * @param - The item to update.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkSetItemCategoriesResponse,\n | `addResults`\n | `addResults.${number}.itemMetadata.originalIndex`\n | `addResults.${number}.itemMetadata.success`\n | `addResults.${number}.itemMetadata.error.code`\n | `addResults.${number}.itemMetadata.error.description`\n | `removeResults`\n | `removeResults.${number}.itemMetadata.originalIndex`\n | `removeResults.${number}.itemMetadata.success`\n | `removeResults.${number}.itemMetadata.error.code`\n | `removeResults.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetItemCategoriesApplicationErrors;\n }\n >;\n}\n\nexport const onCategoryMoved = EventDefinition(\n 'wix.categories.v1.category_category_moved',\n true,\n (event: CategoryMovedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryMovedEnvelope>();\nexport const onCategoryCreated = EventDefinition(\n 'wix.categories.v1.category_created',\n true,\n (event: CategoryCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'entity.richContentDescription.metadata.createdTimestamp' },\n { path: 'entity.richContentDescription.metadata.updatedTimestamp' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryCreatedEnvelope>();\nexport const onCategoryDeleted = EventDefinition(\n 'wix.categories.v1.category_deleted',\n true,\n (event: CategoryDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n {\n path: 'undefined.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'undefined.richContentDescription.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'undefined.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'undefined.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'undefined.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryDeletedEnvelope>();\nexport const onCategoryItemAddedToCategory = EventDefinition(\n 'wix.categories.v1.category_item_added_to_category',\n true,\n (event: CategoryItemAddedToCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemAddedToCategoryEnvelope>();\nexport const onCategoryItemRemovedFromCategory = EventDefinition(\n 'wix.categories.v1.category_item_removed_from_category',\n true,\n (event: CategoryItemRemovedFromCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemRemovedFromCategoryEnvelope>();\nexport const onCategoryItemsArrangedInCategory = EventDefinition(\n 'wix.categories.v1.category_items_arranged_in_category',\n true,\n (event: CategoryItemsArrangedInCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemsArrangedInCategoryEnvelope>();\nexport const onCategoryUpdated = EventDefinition(\n 'wix.categories.v1.category_updated',\n true,\n (event: CategoryUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'entity.richContentDescription.metadata.createdTimestamp' },\n { path: 'entity.richContentDescription.metadata.updatedTimestamp' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundType,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n Breadcrumb,\n BreadcrumbsInfo,\n BulkActionMetadata,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkCategoriesResult,\n BulkDeleteCategoriesRequest,\n BulkDeleteCategoriesResponse,\n BulkDeleteCategoriesResponseBulkCategoriesResult,\n BulkItemToCategoriesResult,\n BulkItemsToCategoryResult,\n BulkRemoveItemFromCategoriesOptions,\n BulkRemoveItemFromCategoriesRequest,\n BulkRemoveItemFromCategoriesResponse,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemsFromCategoryRequest,\n BulkRemoveItemsFromCategoryResponse,\n BulkSetItemCategoriesOptions,\n BulkSetItemCategoriesRequest,\n BulkSetItemCategoriesResponse,\n BulkShowCategoriesOptions,\n BulkShowCategoriesRequest,\n BulkShowCategoriesResponse,\n BulkUpdateCategoriesOptions,\n BulkUpdateCategoriesRequest,\n BulkUpdateCategoriesResponse,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n CategoriesQueryBuilder,\n CategoriesQueryResult,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMoved,\n CategoryMovedEnvelope,\n CategorySearchSpec,\n CategoryTreeNode,\n CategoryUpdatedEnvelope,\n CellStyle,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n CompactCategory,\n CountCategoriesOptions,\n CountCategoriesRequest,\n CountCategoriesResponse,\n CreateCategoryOptions,\n CreateCategoryRequest,\n CreateCategoryResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomTag,\n DateHistogramAggregation,\n DateHistogramResult,\n DateHistogramResults,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n DeleteCategoryRequest,\n DeleteCategoryResponse,\n DeprecatedSearchCategoriesWithOffsetRequest,\n DeprecatedSearchCategoriesWithOffsetResponse,\n Design,\n Dimensions,\n Direction,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventData,\n EventMetadata,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontSizeData,\n FontType,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GetArrangedItemsRequest,\n GetArrangedItemsResponse,\n GetCategoriesTreeRequest,\n GetCategoriesTreeResponse,\n GetCategoryOptions,\n GetCategoryRequest,\n GetCategoryResponse,\n Gradient,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImageStyles,\n ImageStylesPosition,\n IncludeMissingValuesOptions,\n InitialExpandedItems,\n Interval,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n Item,\n ItemAddedToCategory,\n ItemDataOneOf,\n ItemMetadata,\n ItemReference,\n ItemReferenceMetadata,\n ItemRemovedFromCategory,\n ItemStyle,\n ItemsAddedToCategory,\n ItemsArrangedInCategory,\n ItemsRemovedFromCategory,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListCategoriesForItemOptions,\n ListCategoriesForItemRequest,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsOptions,\n ListCategoriesForItemsRequest,\n ListCategoriesForItemsResponse,\n ListCompactCategoriesByIdsRequest,\n ListCompactCategoriesByIdsResponse,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n ListTreesRequest,\n ListTreesResponse,\n ListValue,\n MapData,\n MapItemToCategories,\n MapSettings,\n MapType,\n MaskedCategory,\n Media,\n MentionData,\n MessageEnvelope,\n Metadata,\n MissingValues,\n Mode,\n MoveCategoryOptions,\n MoveCategoryRequest,\n MoveCategoryResponse,\n MoveItemInCategoryRequest,\n MoveItemInCategoryRequestPosition,\n MoveItemInCategoryResponse,\n NestedAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n NestedAggregationType,\n NestedResultValue,\n NestedResultValueResultOneOf,\n NestedResults,\n NestedValueAggregationResult,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n Oembed,\n OffsetSearch,\n OffsetSearchPagingMethodOneOf,\n Option,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n PDFSettings,\n Page,\n Paging,\n PagingMetadata,\n PagingMetadataV2,\n ParagraphData,\n ParentCategory,\n Permissions,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PricingData,\n QueryCategoriesOptions,\n QueryCategoriesRequest,\n QueryCategoriesResponse,\n RangeAggregation,\n RangeAggregationResult,\n RangeBucket,\n RangeResult,\n RangeResults,\n Rel,\n RequestedFields,\n Resizing,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n SearchCategoriesOptions,\n SearchCategoriesRequest,\n SearchCategoriesResponse,\n SearchDetails,\n SeoSchema,\n SetArrangedItemsOptions,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n Settings,\n SingleEntityOpsRequestedFields,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n Spoiler,\n SpoilerData,\n Styles,\n StylesBorder,\n StylesPosition,\n TableCellData,\n TableData,\n Tag,\n Target,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnails,\n ThumbnailsAlignment,\n TreeReference,\n Type,\n URI,\n UpdateCategory,\n UpdateCategoryOptions,\n UpdateCategoryRequest,\n UpdateCategoryResponse,\n UpdateCategoryVisibilityOptions,\n UpdateCategoryVisibilityRequest,\n UpdateCategoryVisibilityResponse,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n ValueAggregationResult,\n ValueResult,\n ValueResults,\n VerticalAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n} from './categories-v1-category-categories.universal.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 {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n SearchSpec,\n} from '@wix/sdk-types';\nimport * as ambassadorWixCategoriesV1Category from './categories-v1-category-categories.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Category {\n /**\n * Category ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the category is updated.\n * To prevent conflicting changes, the current revision must be passed when updating.\n *\n * Ignored when creating a category.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the category was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the category was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Category image.\n *\n * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n * + Pass full image URL to upload to Wix Media Manager.\n */\n image?: string;\n /**\n * Number of items in this category.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Category description.\n * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n * + Default: `false`.\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs.\n *\n * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Parent category reference data.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /** Custom SEO data for the category. */\n seoData?: SeoSchema;\n /**\n * Category description using rich content.\n * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n */\n richContentDescription?: RichContent;\n /**\n * ID of the app responsible for managing the items in this category.\n *\n * Pass your app ID to restrict updating and deleting items in this category to your app only.\n * @format GUID\n * @immutable\n */\n managingAppId?: string | null;\n /**\n * Custom extended fields for the category object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\nexport interface BreadcrumbsInfo {\n /**\n * List of breadcrumb data. The current category isn't included in the list.\n * @readonly\n * @maxSize 5\n */\n breadcrumbs?: Breadcrumb[];\n}\n\nexport interface Breadcrumb {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n categoryName?: string;\n /**\n * Category slug.\n * @minLength 1\n * @maxLength 100\n */\n categorySlug?: string;\n}\n\nexport interface ParentCategory {\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n _id?: string | null;\n /**\n * Index position of the category within the parent category.\n * @readonly\n */\n index?: number | null;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum ImageStylesPosition {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type ImageStylesPositionWithLiterals =\n | ImageStylesPosition\n | 'START'\n | 'END'\n | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: ImageStylesPositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: Media;\n /** Video thumbnail details. */\n thumbnail?: Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport interface TreeReference {\n /**\n * Namespace of the app that manages the tree.\n *\n * For example, `\"@wix/stores\"`, `\"@bookings/bookingslist\"`, `\"@achievements/quizzes\"`.\n * @minLength 4\n * @maxLength 150\n */\n appNamespace?: string;\n /**\n * Tree key. You must pass this when a single app manages more than one tree.\n * @minLength 1\n * @maxLength 44\n */\n treeKey?: 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 InvalidateCache extends InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n /**\n * tell us why you're invalidating the cache. You don't need to add your app name\n * @maxLength 256\n */\n reason?: string | null;\n /** Is local DS */\n localDc?: boolean;\n hardPurge?: boolean;\n}\n\n/** @oneof */\nexport interface InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n}\n\nexport interface App {\n /**\n * The AppDefId\n * @minLength 1\n */\n appDefId?: string;\n /**\n * The instance Id\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface Page {\n /**\n * the msid the page is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Page ID\n * @minLength 1\n */\n pageId?: string;\n}\n\nexport interface URI {\n /**\n * the msid the URI is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @minLength 1\n */\n uriPath?: string;\n}\n\nexport interface File {\n /**\n * the msid the file is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by filename (for media files such as PDFs)\n * @minLength 1\n * @maxLength 256\n */\n fileName?: string;\n}\n\nexport interface CustomTag {\n /**\n * the msid the tag is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Tag to invalidate by\n * @minLength 1\n * @maxLength 256\n */\n tag?: string;\n}\n\nexport interface CategoryMoved {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Parent category details. */\n parentCategory?: ParentCategory;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemAddedToCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Details about the added item. */\n addedItem?: ItemReference;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemReference {\n /**\n * ID of the item within the catalog it belongs to.\n *\n * For example, `product.id` for Wix Stores or `event.id` for Wix Events.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n * @maxLength 36\n */\n appId?: string;\n}\n\nexport interface ItemsAddedToCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * List of added items.\n * @maxSize 100\n */\n addedItems?: ItemReference[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemRemovedFromCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Details about the removed item. */\n removedItem?: ItemReference;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemsRemovedFromCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * List of removed items.\n * @maxSize 100\n */\n removedItems?: ItemReference[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemsArrangedInCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface CreateCategoryRequest {\n /** Category to create. */\n category: Category;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport enum SingleEntityOpsRequestedFields {\n /** Not implemented. */\n UNKNOWN_REQUESTED_FIELD = 'UNKNOWN_REQUESTED_FIELD',\n BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type SingleEntityOpsRequestedFieldsWithLiterals =\n | SingleEntityOpsRequestedFields\n | 'UNKNOWN_REQUESTED_FIELD'\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\n\nexport interface CreateCategoryResponse {\n /** Created category. */\n category?: Category;\n}\n\nexport interface GetCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface GetCategoryResponse {\n /** Category. */\n category?: Category;\n}\n\nexport interface UpdateCategoryRequest {\n /** Category to update. */\n category: Category;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateCategoryResponse {\n /** Updated category. */\n category?: Category;\n}\n\nexport interface DeleteCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface DeleteCategoryResponse {}\n\nexport interface QueryCategoriesRequest {\n /** Query options. */\n query?: CursorQuery;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return non-visible categories.\n *\n * Default: `false` (only visible categories are returned)\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\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 in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\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 * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n /** Ascending order. */\n ASC = 'ASC',\n /** Descending 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 in the results.\n * @max 1000\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 enum RequestedFields {\n /** Not implemented. */\n UNKNOWN_REQUESTED_FIELD = 'UNKNOWN_REQUESTED_FIELD',\n BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'UNKNOWN_REQUESTED_FIELD'\n | 'BREADCRUMBS_INFO';\n\nexport interface QueryCategoriesResponse {\n /**\n * List of categories.\n * @maxSize 1000\n */\n categories?: Category[];\n /** Paging metadata. */\n pagingMetadata?: 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 ListCompactCategoriesByIdsRequest {\n /**\n * List of category ids.\n * @format GUID\n * @minSize 1\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** A reference to the tree that contains the categories. */\n treeReference?: TreeReference;\n}\n\nexport interface ListCompactCategoriesByIdsResponse {\n /** Categories which satisfy the provided ids. */\n categories?: CompactCategory[];\n}\n\nexport interface CompactCategory {\n /**\n * Category ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n}\n\nexport interface SearchCategoriesRequest {\n /**\n * Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n */\n search?: CursorSearch;\n /**\n * Category tree reference details.\n * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n */\n treeReference: TreeReference;\n /**\n * Whether to return the categories with `visible` set to `false`.\n *\n * Default: `false`. Only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Array of projected fields. A list of specific field names to return.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n /**\n * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n * `filter`, `sort`, or `search` can't be specified.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object for narrowing search results. For example, to return only categories from the Stores app: `\"filter\": {\"appNamespace\": \"@wix/stores\"}`.\n *\n * Learn more about the filter format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST).\n */\n filter?: Record<string, any> | null;\n /**\n * Array of sort objects specifying result order. For example, to sort by creation date in ascending order: `\"sort\": [{\"fieldName\": \"createdDate\", \"order\": \"ASC\"}]`.\n *\n * Learn more about the sort format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST).\n * @maxSize 10\n */\n sort?: Sorting[];\n /**\n * Aggregations for grouping data into categories (facets) and providing summaries for each category.\n * For example, use aggregations to categorize search results by service type, payment options, or locations.\n * @maxSize 10\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.\n *\n * Default: Time zone specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).\n * @maxLength 50\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n /**\n * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n * `filter`, `sort`, or `search` can't be specified.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n /** Value aggregation configuration. */\n value?: ValueAggregation;\n /** Range aggregation configuration. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. */\n dateHistogram?: DateHistogramAggregation;\n /** Nested aggregation configuration. */\n nested?: NestedAggregation;\n /**\n * User-defined name of aggregation. Must be unique and will appear in aggregation results.\n * @maxLength 100\n */\n name?: string | null;\n /** Type of aggregation. Client must specify matching aggregation field below. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n /** Value aggregation configuration. */\n value?: ValueAggregation;\n /** Range aggregation configuration. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. */\n dateHistogram?: DateHistogramAggregation;\n /** Nested aggregation configuration. */\n nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n /** Inclusive lower bound of the range. Required if `to` isn't specified. */\n from?: number | null;\n /** Exclusive upper bound of the range. Required if `from` isn't specified. */\n to?: number | null;\n}\n\nexport enum SortType {\n /** Sort by number of matches. */\n COUNT = 'COUNT',\n /** Sort alphabetically by field value. */\n VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n /** Descending order. */\n DESC = 'DESC',\n /** Ascending order. */\n ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n /** Exclude missing values from the aggregation results. */\n EXCLUDE = 'EXCLUDE',\n /** Include missing values in the aggregation results. */\n INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n /**\n * Custom bucket name for missing values.\n *\n * Default values:\n * - string: `N/A`\n * - int: `0`\n * - bool: `false`\n * @maxLength 20\n */\n addToBucket?: string;\n}\n\nexport enum ScalarType {\n UNKNOWN_SCALAR_TYPE = 'UNKNOWN_SCALAR_TYPE',\n /** Total number of distinct values. */\n COUNT_DISTINCT = 'COUNT_DISTINCT',\n /** Minimum value. */\n MIN = 'MIN',\n /** Maximum value. */\n MAX = 'MAX',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n | ScalarType\n | 'UNKNOWN_SCALAR_TYPE'\n | 'COUNT_DISTINCT'\n | 'MIN'\n | 'MAX';\n\nexport interface ValueAggregation extends ValueAggregationOptionsOneOf {\n /** Options for including missing values in the aggregation results. */\n includeOptions?: IncludeMissingValuesOptions;\n /** Whether to sort by number of matches or value of the field. */\n sortType?: SortTypeWithLiterals;\n /** Whether to sort in ascending or descending order. */\n sortDirection?: SortDirectionWithLiterals;\n /**\n * Number of aggregations to return.\n *\n * Min: `1`\n * Max: `250`\n * Default: `10`\n */\n limit?: number | null;\n /**\n * Whether missing values should be included or excluded from the aggregation results.\n *\n * Default: `EXCLUDE`\n */\n missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n /** Options for including missing values in the aggregation results. */\n includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport enum NestedAggregationType {\n /** Unknown aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n VALUE = 'VALUE',\n /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n RANGE = 'RANGE',\n /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n SCALAR = 'SCALAR',\n /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n}\n\n/** @enumType */\nexport type NestedAggregationTypeWithLiterals =\n | NestedAggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM';\n\nexport interface RangeAggregation {\n /**\n * List of range buckets defining the ranges for aggregation. During aggregation, each entity is placed in the first bucket where its value falls within the specified range bounds.\n * @maxSize 50\n */\n buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n /** Operator for the scalar aggregation, for example `COUNT_DISTINCT`, `MIN`, `MAX`. */\n type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n /** Time interval for date histogram aggregation, for example `DAY`, `HOUR`, `MONTH`. */\n interval?: IntervalWithLiterals;\n}\n\nexport enum Interval {\n UNKNOWN_INTERVAL = 'UNKNOWN_INTERVAL',\n /** Yearly interval. */\n YEAR = 'YEAR',\n /** Monthly interval. */\n MONTH = 'MONTH',\n /** Weekly interval. */\n WEEK = 'WEEK',\n /** Daily interval. */\n DAY = 'DAY',\n /** Hourly interval. */\n HOUR = 'HOUR',\n /** Minute interval. */\n MINUTE = 'MINUTE',\n /** Second interval. */\n SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type IntervalWithLiterals =\n | Interval\n | 'UNKNOWN_INTERVAL'\n | 'YEAR'\n | 'MONTH'\n | 'WEEK'\n | 'DAY'\n | 'HOUR'\n | 'MINUTE'\n | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */\n value?: ValueAggregation;\n /** Range aggregation configuration. Calculates counts within user-defined value ranges. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. Calculates counts within time intervals. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * User-defined name of aggregation. Must be unique and will appear in aggregation results.\n * @maxLength 100\n */\n name?: string | null;\n /** Type of aggregation. Client must specify matching aggregation field below. */\n type?: NestedAggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */\n value?: ValueAggregation;\n /** Range aggregation configuration. Calculates counts within user-defined value ranges. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. Calculates counts within time intervals. */\n dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n VALUE = 'VALUE',\n /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n RANGE = 'RANGE',\n /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n SCALAR = 'SCALAR',\n /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n /** Flattened list of aggregations, where each aggregation is nested within previous 1. */\n NESTED = 'NESTED',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n | AggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM'\n | 'NESTED';\n\n/** Nested aggregation for multi-level faceted search. Allows exploring large amounts of data through multiple levels of categorization, where each subsequent aggregation is nested within the previous aggregation to create hierarchical data summaries. */\nexport interface NestedAggregation {\n /**\n * Flattened list of aggregations, where each next aggregation is nested within the previous 1.\n * @minSize 2\n * @maxSize 3\n */\n nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface SearchDetails {\n /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n mode?: ModeWithLiterals;\n /**\n * Search term or expression.\n * @maxLength 100\n */\n expression?: string | null;\n /**\n * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `parentCategory.index`.\n * @maxLength 200\n * @maxSize 20\n */\n fields?: string[];\n /** Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n fuzzy?: boolean;\n}\n\nexport enum Mode {\n /** At least 1 of the search terms must be present. */\n OR = 'OR',\n /** All search terms must be present. */\n AND = 'AND',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchCategoriesResponse {\n /**\n * Retrieved categories that match the search criteria specified in the request.\n *\n * Each category includes all standard category information.\n * @maxSize 1000\n */\n categories?: Category[];\n /**\n * Cursor-based paging metadata for navigating search results.\n *\n * Contains the current page's cursor information, whether there are more results available,\n * and count details. Use the `next` cursor to retrieve subsequent pages of results.\n */\n pagingMetadata?: CursorPagingMetadata;\n /**\n * Aggregation results based on the aggregations specified in the search request.\n *\n * Provides categorized data summaries. Only available when aggregations\n * are requested in the search criteria.\n */\n aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n /**\n * Array of aggregation results, each containing the aggregation metadata and its calculated values for the specified search criteria.\n * @maxSize 10000\n */\n results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n /**\n * Value of the field\n * @maxLength 100\n */\n value?: string;\n /** Count of entities with this value */\n count?: number;\n}\n\nexport interface RangeAggregationResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in this range. */\n count?: number;\n}\n\nexport interface NestedAggregationResults\n extends NestedAggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /**\n * User-defined name of aggregation, matches the one specified in request.\n * @maxLength 100\n */\n name?: string;\n /** Type of aggregation that matches result. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `appNamespace`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n}\n\nexport interface ValueResults {\n /**\n * Array of value aggregation results, each containing a field value and the count of entities with that value.\n * @maxSize 250\n */\n results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n /**\n * Array of range aggregation results returned in the same order as requested, each containing range bounds and count of entities within that range.\n * @maxSize 50\n */\n results?: RangeAggregationResult[];\n}\n\nexport interface AggregationResultsScalarResult {\n /** Type of scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedValueAggregationResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Nested aggregations. */\n nestedResults?: NestedAggregationResults;\n}\n\nexport interface ValueResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value. */\n count?: number | null;\n}\n\nexport interface RangeResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in this range. */\n count?: number | null;\n}\n\nexport interface ScalarResult {\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedResultValue extends NestedResultValueResultOneOf {\n /** Value aggregation result. */\n value?: ValueResult;\n /** Range aggregation result. */\n range?: RangeResult;\n /** Scalar aggregation result. */\n scalar?: ScalarResult;\n /** Date histogram aggregation result. */\n dateHistogram?: ValueResult;\n}\n\n/** @oneof */\nexport interface NestedResultValueResultOneOf {\n /** Value aggregation result. */\n value?: ValueResult;\n /** Range aggregation result. */\n range?: RangeResult;\n /** Scalar aggregation result. */\n scalar?: ScalarResult;\n /** Date histogram aggregation result. */\n dateHistogram?: ValueResult;\n}\n\nexport interface Results {\n /** Map of nested aggregation results, keyed by aggregation name. */\n results?: Record<string, NestedResultValue>;\n}\n\nexport interface DateHistogramResult {\n /**\n * Date in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n * @maxLength 100\n */\n value?: string;\n /** Count of documents in the bucket. */\n count?: number;\n}\n\nexport interface GroupByValueResults {\n /**\n * Array of nested value aggregation results, each containing a field value and the associated nested aggregation data.\n * @maxSize 1000\n */\n results?: NestedValueAggregationResult[];\n}\n\nexport interface DateHistogramResults {\n /**\n * Array of date histogram aggregation results, each containing a date bucket and its count.\n * @maxSize 200\n */\n results?: DateHistogramResult[];\n}\n\n/**\n * Results of `NESTED` aggregation type in a flattened form.\n * Aggregations in resulting array are keyed by requested aggregation `name`.\n */\nexport interface NestedResults {\n /**\n * Array of nested aggregation result groups, each containing multiple aggregation results.\n * @maxSize 1000\n */\n results?: Results[];\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** Group by value aggregation results. */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n /**\n * User-defined name of aggregation as derived from search request.\n * @maxLength 100\n */\n name?: string;\n /** Type of aggregation that must match specified kind as derived from search request. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `appNamespace`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** Group by value aggregation results. */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n}\n\nexport interface DeprecatedSearchCategoriesWithOffsetRequest {\n /** WQL query expression. */\n search?: OffsetSearch;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Whether to return categories with `visible:false`. Default: false so only visible categories will be in response. */\n returnNonVisibleCategories?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface OffsetSearch extends OffsetSearchPagingMethodOneOf {\n /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n paging?: Paging;\n /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n * @maxSize 10\n */\n sort?: Sorting[];\n /**\n * Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition.\n * @maxSize 10\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields */\n search?: SearchDetails;\n /**\n * UTC offset or IANA time zone. Valid values are\n * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n * and IANA time zone IDs, such as Europe/Rome\n *\n * Affects all filters and aggregations returned values.\n * You may override this behavior in a specific filter by providing\n * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n * @maxLength 50\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface OffsetSearchPagingMethodOneOf {\n /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n paging?: Paging;\n}\n\nexport interface Paging {\n /**\n * Number of items to load.\n * @max 1000\n */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface DeprecatedSearchCategoriesWithOffsetResponse {\n /**\n * Categories which satisfy the provided query.\n * @maxSize 1000\n */\n categories?: Category[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadata;\n /** Aggregation data. */\n aggregationData?: AggregationData;\n}\n\nexport interface PagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. */\n total?: number | null;\n /** Flag that indicates the server failed to calculate the `total` field. */\n tooManyToCount?: boolean | null;\n}\n\nexport interface CountCategoriesRequest {\n /**\n * Filter object.\n *\n * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /** Search options. */\n search?: SearchDetails;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return categories with `visible: false` (hidden categories).\n *\n * Default: `false` - only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n}\n\nexport interface CountCategoriesResponse {\n /** Total count of categories which satisfy the given filter and/or search. */\n count?: number;\n}\n\nexport interface MoveCategoryRequest {\n /**\n * ID of the category to move.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * Where to place the subcategory.\n *\n * + `FIRST`: Position the category as the first subcategory.\n * + `LAST`: Position the category as the last subcategory.\n * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n */\n position: PositionWithLiterals;\n /**\n * Required when passing `position: AFTER`.\n * @format GUID\n */\n moveAfterCategoryId?: string | null;\n}\n\nexport enum Position {\n UNKNOWN_POSITION = 'UNKNOWN_POSITION',\n FIRST = 'FIRST',\n LAST = 'LAST',\n AFTER = 'AFTER',\n}\n\n/** @enumType */\nexport type PositionWithLiterals =\n | Position\n | 'UNKNOWN_POSITION'\n | 'FIRST'\n | 'LAST'\n | 'AFTER';\n\nexport interface MoveCategoryResponse {\n /**\n * Parent category ID.\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * List of category IDs in the new order of arrangement.\n * @format GUID\n * @maxSize 100\n */\n categoriesAfterMove?: string[];\n}\n\nexport interface BulkUpdateCategoriesRequest {\n /**\n * List of categories to update.\n * @minSize 1\n * @maxSize 100\n */\n categories: MaskedCategory[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the full category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface MaskedCategory {\n /** Category to update. */\n category?: Category;\n}\n\nexport interface BulkUpdateCategoriesResponse {\n /**\n * Categories updated by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkCategoriesResult {\n /** Bulk action metadata for category. */\n itemMetadata?: ItemMetadata;\n /**\n * Full category entity.\n *\n * Returned only if `returnEntity: true` is passed in the request.\n */\n category?: Category;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface UpdateCategoryVisibilityRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n */\n visible: boolean;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Latest revision of the category.\n * To prevent conflicting changes, the current revision must be passed on update.\n */\n revision: string | null;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateCategoryVisibilityResponse {\n /** Updated category. */\n category?: Category;\n}\n\nexport interface BulkShowCategoriesRequest {\n /**\n * IDs of the categories to update.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkShowCategoriesResponse {\n /**\n * Categories updated by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteCategoriesRequest {\n /**\n * IDs of categories to be deleted.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds?: string[];\n}\n\nexport interface BulkDeleteCategoriesResponse {\n /**\n * Categories deleted by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteCategoriesResponseBulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteCategoriesResponseBulkCategoriesResult {\n /** Information about successful action or error for failure. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkAddItemsToCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * List of items to add.\n * @minSize 1\n * @maxSize 1000\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkAddItemsToCategoryResponse {\n /**\n * List of items added to a category by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkItemsToCategoryResult {\n /** Bulk action metadata for item reference. */\n itemMetadata?: ItemReferenceMetadata;\n}\n\nexport interface ItemReferenceMetadata {\n /** Catalog and item reference info. */\n item?: ItemReference;\n /** Original index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /**\n * Whether the action was successful.\n * When `false`, the `error` field is populated.\n */\n success?: boolean;\n /** Error details in the case of an unsuccessful action. */\n error?: ApplicationError;\n}\n\nexport interface BulkAddItemToCategoriesRequest {\n /** Item to add. */\n item: ItemReference;\n /**\n * IDs of categories to which to add the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkAddItemToCategoriesResponse {\n /**\n * Items added by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemToCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkItemToCategoriesResult {\n /** Bulk action metadata for category. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkRemoveItemsFromCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * List of items to remove.\n * @minSize 1\n * @maxSize 100\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkRemoveItemsFromCategoryResponse {\n /**\n * Items removed by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkRemoveItemFromCategoriesRequest {\n /** Item to remove. */\n item: ItemReference;\n /**\n * IDs of categories from which to remove the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkRemoveItemFromCategoriesResponse {\n /**\n * Items removed by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemToCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ListItemsInCategoryRequest\n extends ListItemsInCategoryRequestPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to use category arrangement for sorting items.\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false` (only direct items of the category will be returned)\n */\n includeItemsFromSubcategories?: boolean;\n}\n\n/** @oneof */\nexport interface ListItemsInCategoryRequestPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface ListItemsInCategoryResponse {\n /**\n * List of items in the category.\n * @maxSize 100\n */\n items?: ItemReference[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n total?: number | null;\n /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n cursors?: Cursors;\n}\n\nexport interface ListCategoriesForItemRequest {\n /** Item reference info. */\n item: ItemReference;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface ListCategoriesForItemResponse {\n /**\n * List of IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * List of IDs of categories that directly contain this item, and their parent category IDs.\n * @format GUID\n * @maxSize 1000\n */\n allCategoryIds?: string[];\n}\n\nexport interface ListCategoriesForItemsRequest {\n /**\n * List of Item reference info.\n * @maxSize 100\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface ListCategoriesForItemsResponse {\n /**\n * Map of item references to lists of direct category IDs and all category IDs, including parent categories and direct ones.\n * @maxSize 100\n */\n categoriesForItems?: MapItemToCategories[];\n}\n\nexport interface MapItemToCategories {\n /** Item reference info. */\n item?: ItemReference;\n /**\n * List of IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * List of IDs of categories that indirectly contain this item, including all ancestors of its direct categories in the hierarchy.\n * @format GUID\n * @maxSize 1000\n */\n indirectCategoryIds?: string[];\n}\n\nexport interface ListTreesRequest {}\n\nexport interface ListTreesResponse {\n /**\n * List of trees.\n * @maxSize 20\n */\n trees?: TreeReference[];\n}\n\nexport interface MoveItemInCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Item to move. */\n item?: ItemReference;\n /**\n * Where to move item.\n * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n */\n position?: MoveItemInCategoryRequestPositionWithLiterals;\n /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n beforeItem?: ItemReference;\n}\n\nexport enum MoveItemInCategoryRequestPosition {\n UNKNOWN_POSITION = 'UNKNOWN_POSITION',\n FIRST = 'FIRST',\n LAST = 'LAST',\n BEFORE = 'BEFORE',\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type MoveItemInCategoryRequestPositionWithLiterals =\n | MoveItemInCategoryRequestPosition\n | 'UNKNOWN_POSITION'\n | 'FIRST'\n | 'LAST'\n | 'BEFORE'\n | 'NONE';\n\nexport interface MoveItemInCategoryResponse {\n /**\n * Information about manually arranged items after move.\n * @maxSize 100\n */\n itemsAfterMove?: ItemReference[];\n}\n\nexport interface SetArrangedItemsRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * List of items to set.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface SetArrangedItemsResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface GetArrangedItemsRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface GetArrangedItemsResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface BulkSetItemCategoriesRequest {\n /** The item to update. */\n item: ItemReference;\n /**\n * List of category IDs to set for the item.\n * @format GUID\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkSetItemCategoriesResponse {\n /** Results for add operations */\n addResults?: BulkItemToCategoriesResult[];\n /** Results for remove operations */\n removeResults?: BulkItemToCategoriesResult[];\n /** Bulk action metadata */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface GetCategoriesTreeRequest {\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface GetCategoriesTreeResponse {\n /** Categories tree. */\n categoriesTree?: CategoryTreeNode[];\n}\n\n/** Represents a node in the view of categories tree */\nexport interface CategoryTreeNode {\n /** Category ID. */\n _id?: Uint8Array;\n /**\n * List of subcategories.\n * @maxSize 1000\n */\n subcategories?: CategoryTreeNode[];\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 Empty {}\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/** @docsIgnore */\nexport type CreateCategoryApplicationErrors =\n | {\n code?: 'NAMESPACE_NOT_FOUND_IN_DEV_CENTER';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DUPLICATE_SLUG';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORIES_LIMIT_PER_TREE_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'PARENT_CATEGORY_NOT_IN_TREE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'TREES_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORY_DEPTH_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'PARENT_CATEGORY_HIDDEN';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCategoryApplicationErrors =\n | {\n code?: 'DUPLICATE_SLUG';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'REMOVED_SLUG';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type DeleteCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type MoveCategoryApplicationErrors =\n | {\n code?: 'PARENT_CATEGORY_NOT_IN_TREE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORY_DEPTH_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'TREE_CYCLE_DETECTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'MISSING_AFTER_CATEGORY';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AFTER_CATEGORY_NOT_IN_PARENT';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type BulkUpdateCategoriesApplicationErrors = {\n code?: 'UPDATE_OF_FIELD_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateCategoryVisibilityApplicationErrors = {\n code?: 'PARENT_CATEGORY_HIDDEN';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkAddItemsToCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkAddItemToCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkRemoveItemsFromCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkRemoveItemFromCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type SetArrangedItemsApplicationErrors = {\n code?: 'ITEM_NOT_IN_CATEGORY';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkSetItemCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\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}\n\nexport interface EventMetadata extends BaseEventMetadata {\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\nexport interface CategoryMovedEnvelope {\n data: CategoryMoved;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a category is moved.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_category_moved\n * @slug category_moved\n */\nexport declare function onCategoryMoved(\n handler: (event: CategoryMovedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryCreatedEnvelope {\n entity: Category;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_created\n * @slug created\n */\nexport declare function onCategoryCreated(\n handler: (event: CategoryCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_deleted\n * @slug deleted\n */\nexport declare function onCategoryDeleted(\n handler: (event: CategoryDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryItemAddedToCategoryEnvelope {\n data: ItemAddedToCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an item is added to a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_item_added_to_category\n * @slug item_added_to_category\n */\nexport declare function onCategoryItemAddedToCategory(\n handler: (event: CategoryItemAddedToCategoryEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryItemRemovedFromCategoryEnvelope {\n data: ItemRemovedFromCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an item is removed from a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_item_removed_from_category\n * @slug item_removed_from_category\n */\nexport declare function onCategoryItemRemovedFromCategory(\n handler: (\n event: CategoryItemRemovedFromCategoryEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface CategoryItemsArrangedInCategoryEnvelope {\n data: ItemsArrangedInCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when items arrangement in category is changed.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_items_arranged_in_category\n * @slug items_arranged_in_category\n */\nexport declare function onCategoryItemsArrangedInCategory(\n handler: (\n event: CategoryItemsArrangedInCategoryEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface CategoryUpdatedEnvelope {\n entity: Category;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_updated\n * @slug updated\n */\nexport declare function onCategoryUpdated(\n handler: (event: CategoryUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a category.\n * @param category - Category to create.\n * @public\n * @requiredField category\n * @requiredField category.name\n * @requiredField category.parentCategory._id\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_CREATE\n * @applicableIdentity APP\n * @returns Created category.\n * @fqn com.wix.categories.api.v1.CategoriesService.CreateCategory\n */\nexport async function createCategory(\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n category: category,\n treeReference: options?.treeReference,\n fields: options?.fields,\n },\n ['category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'category.image' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.createCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n category: '$[0]',\n treeReference: '$[1].treeReference',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['category', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Retrieves a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @returns Category.\n * @fqn com.wix.categories.api.v1.CategoriesService.GetCategory\n */\nexport async function getCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetCategoryOptions {\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param _id - Category ID.\n * @public\n * @requiredField _id\n * @requiredField category\n * @requiredField category.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @returns Updated category.\n * @fqn com.wix.categories.api.v1.CategoriesService.UpdateCategory\n */\nexport async function updateCategory(\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n category: { ...category, id: _id },\n treeReference: options?.treeReference,\n fields: options?.fields,\n },\n ['category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'category.image' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.updateCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { category: '$[1]' },\n explicitPathsToArguments: {\n 'category.id': '$[0]',\n treeReference: '$[2].treeReference',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'category', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCategory {\n /**\n * Category ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the category is updated.\n * To prevent conflicting changes, the current revision must be passed when updating.\n *\n * Ignored when creating a category.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the category was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the category was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Category image.\n *\n * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n * + Pass full image URL to upload to Wix Media Manager.\n */\n image?: string;\n /**\n * Number of items in this category.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Category description.\n * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n * + Default: `false`.\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs.\n *\n * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Parent category reference data.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /** Custom SEO data for the category. */\n seoData?: SeoSchema;\n /**\n * Category description using rich content.\n * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n */\n richContentDescription?: RichContent;\n /**\n * ID of the app responsible for managing the items in this category.\n *\n * Pass your app ID to restrict updating and deleting items in this category to your app only.\n * @format GUID\n * @immutable\n */\n managingAppId?: string | null;\n /**\n * Custom extended fields for the category object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\nexport interface UpdateCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Deletes a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_DELETE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.DeleteCategory\n */\nexport async function deleteCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n): Promise<\n void & {\n __applicationErrorsType?: DeleteCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { categoryId: categoryId, treeReference: treeReference },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.deleteCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { categoryId: '$[0]', treeReference: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n * @public\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.QueryCategories\n */\nexport function queryCategories(\n options: QueryCategoriesOptions\n): CategoriesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Category,\n 'CURSOR',\n QueryCategoriesRequest,\n QueryCategoriesResponse\n >({\n func: async (payload: QueryCategoriesRequest) => {\n const reqOpts = ambassadorWixCategoriesV1Category.queryCategories({\n ...payload,\n ...options,\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: QueryCategoriesRequest['query']) => {\n const args = [query, options] as [\n QueryCategoriesRequest['query'],\n QueryCategoriesOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest(\n { ...args?.[1], query: args?.[0] },\n []\n );\n },\n responseTransformer: ({ data }: HttpResponse<QueryCategoriesResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'categories.image' }],\n },\n ]),\n ['categories.richContentDescription']\n );\n\n return {\n items: transformedData?.categories,\n pagingMetadata: transformedData?.pagingMetadata,\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\nexport interface QueryCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return non-visible categories.\n *\n * Default: `false` (only visible categories are returned)\n */\n returnNonVisibleCategories?: boolean | undefined;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface CategoriesQueryResult extends QueryCursorResult {\n items: Category[];\n query: CategoriesQueryBuilder;\n next: () => Promise<CategoriesQueryResult>;\n prev: () => Promise<CategoriesQueryResult>;\n}\n\nexport interface CategoriesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: string\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n */\n hasSome: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any[]\n ) => CategoriesQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: boolean\n ) => CategoriesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'managingAppId'\n >\n ) => CategoriesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'managingAppId'\n >\n ) => CategoriesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => CategoriesQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => CategoriesQueryBuilder;\n find: () => Promise<CategoriesQueryResult>;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n * @param search - Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n * @public\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @requiredField search\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.SearchCategories\n */\nexport async function searchCategories(\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n SearchCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n search: search,\n treeReference: options?.treeReference,\n returnNonVisibleCategories: options?.returnNonVisibleCategories,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.searchCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'categories.image' }],\n },\n ]),\n ['categories.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n search: '$[0]',\n treeReference: '$[1].treeReference',\n returnNonVisibleCategories: '$[1].returnNonVisibleCategories',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['search', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SearchCategoriesOptions {\n /**\n * Category tree reference details.\n * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n */\n treeReference: TreeReference;\n /**\n * Whether to return the categories with `visible` set to `false`.\n *\n * Default: `false`. Only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Array of projected fields. A list of specific field names to return.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CategorySearchSpec extends SearchSpec {\n searchable: ['description', 'name'];\n aggregatable: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n paging: 'cursor';\n wql: [\n {\n operators: '*';\n fields: [\n '_id',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: [\n '_createdDate',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index'\n ];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n Category,\n CategorySearchSpec\n>;\nexport type CategorySearch = {\n /** \n Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n `filter`, `sort`, or `search` can't be specified. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object for narrowing search results. For example, to return only categories from the Stores app: `\"filter\": {\"appNamespace\": \"@wix/stores\"}`.\n\n Learn more about the filter format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST). \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Array of sort objects specifying result order. For example, to sort by creation date in ascending order: `\"sort\": [{\"fieldName\": \"createdDate\", \"order\": \"ASC\"}]`.\n\n Learn more about the sort format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST). \n @maxSize: 10 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Aggregations for grouping data into categories (facets) and providing summaries for each category.\n For example, use aggregations to categorize search results by service type, payment options, or locations. \n @maxSize: 10 \n */\n aggregations?: {\n /** \n Value aggregation configuration. \n */\n value?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['value'];\n /** \n Range aggregation configuration. \n */\n range?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['range'];\n /** \n Scalar aggregation configuration. \n */\n scalar?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['scalar'];\n /** \n Date histogram aggregation configuration. \n */\n dateHistogram?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['dateHistogram'];\n /** \n Nested aggregation configuration. \n */\n nested?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['nested'];\n /** \n User-defined name of aggregation. Must be unique and will appear in aggregation results. \n @maxLength: 100 \n */\n name?:\n | NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['name']\n | null;\n /** \n Type of aggregation. Client must specify matching aggregation field below. \n */\n type?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['type'];\n /** \n Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`. \n @maxLength: 200 \n */\n fieldPath?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['fieldPath'];\n }[];\n /** \n Free text to match in searchable fields. \n */\n search?: {\n /** \n Search mode. Defines the search logic for combining multiple terms in the `expression`. \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression. \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `parentCategory.index`. \n @maxLength: 200,\n @maxSize: 20 \n */\n fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];\n /** \n Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n /** \n Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.\n\n Default: Time zone specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)). \n @maxLength: 50 \n */\n timeZone?: CommonSearchWithEntityContext['timeZone'] | null;\n};\n\n/**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n * @public\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.CountCategories\n */\nexport async function countCategories(\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<NonNullablePaths<CountCategoriesResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n filter: options?.filter,\n search: options?.search,\n treeReference: options?.treeReference,\n returnNonVisibleCategories: options?.returnNonVisibleCategories,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.countCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0].filter',\n search: '$[0].search',\n treeReference: '$[0].treeReference',\n returnNonVisibleCategories: '$[0].returnNonVisibleCategories',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountCategoriesOptions {\n /**\n * Filter object.\n *\n * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /** Search options. */\n search?: SearchDetails;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return categories with `visible: false` (hidden categories).\n *\n * Default: `false` - only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n}\n\n/**\n * Moves a category within its parent category, or to a different parent category.\n * @param categoryId - ID of the category to move.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField options.position\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_MOVE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.MoveCategory\n */\nexport async function moveCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n): Promise<\n NonNullablePaths<MoveCategoryResponse, `categoriesAfterMove`, 2> & {\n __applicationErrorsType?: MoveCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n parentCategoryId: options?.parentCategoryId,\n position: options?.position,\n moveAfterCategoryId: options?.moveAfterCategoryId,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.moveCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n parentCategoryId: '$[2].parentCategoryId',\n position: '$[2].position',\n moveAfterCategoryId: '$[2].moveAfterCategoryId',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface MoveCategoryOptions {\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * Where to place the subcategory.\n *\n * + `FIRST`: Position the category as the first subcategory.\n * + `LAST`: Position the category as the last subcategory.\n * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n */\n position: PositionWithLiterals;\n /**\n * Required when passing `position: AFTER`.\n * @format GUID\n */\n moveAfterCategoryId?: string | null;\n}\n\n/**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param categories - List of categories to update.\n * @public\n * @requiredField categories\n * @requiredField categories.category\n * @requiredField categories.category._id\n * @requiredField categories.category.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkUpdateCategories\n */\nexport async function bulkUpdateCategories(\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkUpdateCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n categories: categories,\n treeReference: options?.treeReference,\n returnEntity: options?.returnEntity,\n fields: options?.fields,\n },\n ['categories.category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'categories.category.image' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkUpdateCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'results.category.image' }],\n },\n ]),\n ['results.category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categories: '$[0]',\n treeReference: '$[1].treeReference',\n returnEntity: '$[1].returnEntity',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categories', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the full category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param categoryId - Category ID.\n * @public\n * @requiredField categoryId\n * @requiredField options.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @requiredField options.visible\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.UpdateCategoryVisibility\n */\nexport async function updateCategoryVisibility(\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n): Promise<\n NonNullablePaths<\n UpdateCategoryVisibilityResponse,\n | `category.itemCounter`\n | `category.breadcrumbsInfo.breadcrumbs`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `category.seoData.tags`\n | `category.seoData.tags.${number}.type`\n | `category.seoData.tags.${number}.children`\n | `category.seoData.tags.${number}.custom`\n | `category.seoData.tags.${number}.disabled`\n | `category.seoData.settings.preventAutoRedirect`\n | `category.seoData.settings.keywords`\n | `category.seoData.settings.keywords.${number}.term`\n | `category.seoData.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateCategoryVisibilityApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n visible: options?.visible,\n treeReference: options?.treeReference,\n revision: options?.revision,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.updateCategoryVisibility(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n visible: '$[1].visible',\n treeReference: '$[1].treeReference',\n revision: '$[1].revision',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCategoryVisibilityOptions {\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n */\n visible: boolean;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Latest revision of the category.\n * To prevent conflicting changes, the current revision must be passed on update.\n */\n revision: string | null;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n * @param categoryIds - IDs of the categories to update.\n * @public\n * @requiredField categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkShowCategories\n */\nexport async function bulkShowCategories(\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkShowCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryIds: categoryIds,\n treeReference: options?.treeReference,\n returnEntity: options?.returnEntity,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.bulkShowCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'results.category.image' }],\n },\n ]),\n ['results.category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryIds: '$[0]',\n treeReference: '$[1].treeReference',\n returnEntity: '$[1].returnEntity',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkShowCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Adds multiple items to a single category.\n * @param categoryId - Category ID.\n * @param items - List of items to add.\n * @public\n * @requiredField categoryId\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkAddItemsToCategory\n */\nexport async function bulkAddItemsToCategory(\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkAddItemsToCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemsToCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n items: items,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkAddItemsToCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n items: '$[1]',\n treeReference: '$[2].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkAddItemsToCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Adds a single item to multiple categories.\n * @param item - Item to add.\n * @public\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options\n * @requiredField options.categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkAddItemToCategories\n */\nexport async function bulkAddItemToCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkAddItemToCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemToCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkAddItemToCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkAddItemToCategoriesOptions {\n /**\n * IDs of categories to which to add the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Removes multiple items from a single category.\n * @param categoryId - Category ID.\n * @param items - List of items to remove.\n * @public\n * @requiredField categoryId\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkRemoveItemsFromCategory\n */\nexport async function bulkRemoveItemsFromCategory(\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkRemoveItemsFromCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemsFromCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n items: items,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkRemoveItemsFromCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n items: '$[1]',\n treeReference: '$[2].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveItemsFromCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Removes a single item from multiple categories.\n * @param item - Item to remove.\n * @public\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options\n * @requiredField options.categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkRemoveItemFromCategories\n */\nexport async function bulkRemoveItemFromCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkRemoveItemFromCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemFromCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkRemoveItemFromCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveItemFromCategoriesOptions {\n /**\n * IDs of categories from which to remove the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListItemsInCategory\n */\nexport async function listItemsInCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n): Promise<\n NonNullablePaths<\n ListItemsInCategoryResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n useCategoryArrangement: options?.useCategoryArrangement,\n includeItemsFromSubcategories: options?.includeItemsFromSubcategories,\n cursorPaging: options?.cursorPaging,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listItemsInCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n useCategoryArrangement: '$[2].useCategoryArrangement',\n includeItemsFromSubcategories: '$[2].includeItemsFromSubcategories',\n cursorPaging: '$[2].cursorPaging',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListItemsInCategoryOptions\n extends ListItemsInCategoryOptionsPagingMethodOneOf {\n /**\n * Whether to use category arrangement for sorting items.\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false` (only direct items of the category will be returned)\n */\n includeItemsFromSubcategories?: boolean;\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\n/** @oneof */\nexport interface ListItemsInCategoryOptionsPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\n/**\n * Retrieves a list of categories that contain the specified item.\n * @param item - Item reference info.\n * @public\n * @requiredField item\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem\n */\nexport async function listCategoriesForItem(\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n ListCategoriesForItemResponse,\n `directCategoryIds` | `allCategoryIds`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { item: item, treeReference: options?.treeReference },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listCategoriesForItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListCategoriesForItemOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item.\n * @param items - List of Item reference info.\n * @public\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems\n */\nexport async function listCategoriesForItems(\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n ListCategoriesForItemsResponse,\n | `categoriesForItems`\n | `categoriesForItems.${number}.item.catalogItemId`\n | `categoriesForItems.${number}.item.appId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { items: items, treeReference: options?.treeReference },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listCategoriesForItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n items: '$[0]',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListCategoriesForItemsOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order.\n * @public\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListTrees\n */\nexport async function listTrees(): Promise<\n NonNullablePaths<\n ListTreesResponse,\n `trees` | `trees.${number}.appNamespace`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({}, []);\n\n const reqOpts = ambassadorWixCategoriesV1Category.listTrees(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_MOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.SetArrangedItems\n */\nexport async function setArrangedItems(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n): Promise<\n NonNullablePaths<\n SetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n > & {\n __applicationErrorsType?: SetArrangedItemsApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n items: options?.items,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.setArrangedItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n items: '$[2].items',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SetArrangedItemsOptions {\n /**\n * List of items to set.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Retrieves a list of arranged items in a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.GetArrangedItems\n */\nexport async function getArrangedItems(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n): Promise<\n NonNullablePaths<\n GetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { categoryId: categoryId, treeReference: treeReference },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getArrangedItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { categoryId: '$[0]', treeReference: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n * @param item - The item to update.\n * @internal\n * @documentationMaturity preview\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.ITEM_SET_CATEGORIES\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkSetItemCategories\n */\nexport async function bulkSetItemCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkSetItemCategoriesResponse,\n | `addResults`\n | `addResults.${number}.itemMetadata.originalIndex`\n | `addResults.${number}.itemMetadata.success`\n | `addResults.${number}.itemMetadata.error.code`\n | `addResults.${number}.itemMetadata.error.description`\n | `removeResults`\n | `removeResults.${number}.itemMetadata.originalIndex`\n | `removeResults.${number}.itemMetadata.success`\n | `removeResults.${number}.itemMetadata.error.code`\n | `removeResults.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetItemCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkSetItemCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkSetItemCategoriesOptions {\n /**\n * List of category IDs to set for the item.\n * @format GUID\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\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 resolveComWixCategoriesApiV1CategoriesServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/categories',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/categories/v1/bulk/categories',\n destPath: '/v1/bulk/categories',\n },\n {\n srcPath: '/categories/v1/categories',\n destPath: '/v1/categories',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/categories',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/categories/v1/bulk/categories',\n destPath: '/v1/bulk/categories',\n },\n {\n srcPath: '/categories/v1/categories',\n destPath: '/v1/categories',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_categories_categories';\n\n/** Creates a category. */\nexport function createCategory(payload: object): RequestOptionsFactory<any> {\n function __createCategory({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n { path: 'category.richContentDescription.metadata.createdTimestamp' },\n { path: 'category.richContentDescription.metadata.updatedTimestamp' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.CreateCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCategory;\n}\n\n/** Retrieves a category. */\nexport function getCategory(payload: object): RequestOptionsFactory<any> {\n function __getCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.GetCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategory;\n}\n\n/**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function updateCategory(payload: object): RequestOptionsFactory<any> {\n function __updateCategory({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n { path: 'category.richContentDescription.metadata.createdTimestamp' },\n { path: 'category.richContentDescription.metadata.updatedTimestamp' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'PATCH' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.UpdateCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{category.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategory;\n}\n\n/** Deletes a category. */\nexport function deleteCategory(payload: object): RequestOptionsFactory<any> {\n function __deleteCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'DELETE' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.DeleteCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCategory;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n */\nexport function queryCategories(payload: object): RequestOptionsFactory<any> {\n function __queryCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.QueryCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'categories.createdDate' },\n { path: 'categories.updatedDate' },\n { path: 'categories.image.urlExpirationDate' },\n {\n path: 'categories.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryCategories;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n */\nexport function searchCategories(payload: object): RequestOptionsFactory<any> {\n function __searchCategories({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'search.aggregations.range.buckets.from' },\n { path: 'search.aggregations.range.buckets.to' },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.SearchCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'categories.createdDate' },\n { path: 'categories.updatedDate' },\n { path: 'categories.image.urlExpirationDate' },\n {\n path: 'categories.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.coverImage.duration',\n },\n { path: 'aggregationData.results.ranges.results.from' },\n { path: 'aggregationData.results.ranges.results.to' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.from',\n },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.to',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.from',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.to',\n },\n { path: 'aggregationData.results.scalar.value' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.scalar.value',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __searchCategories;\n}\n\n/**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n */\nexport function countCategories(payload: object): RequestOptionsFactory<any> {\n function __countCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.CountCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countCategories;\n}\n\n/** Moves a category within its parent category, or to a different parent category. */\nexport function moveCategory(payload: object): RequestOptionsFactory<any> {\n function __moveCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.MoveCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/move',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __moveCategory;\n}\n\n/**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function bulkUpdateCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateCategories({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'categories.fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'categories.category.createdDate' },\n { path: 'categories.category.updatedDate' },\n { path: 'categories.category.image.urlExpirationDate' },\n {\n path: 'categories.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkUpdateCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/update',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.category.createdDate' },\n { path: 'results.category.updatedDate' },\n { path: 'results.category.image.urlExpirationDate' },\n {\n path: 'results.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'results.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkUpdateCategories;\n}\n\n/**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function updateCategoryVisibility(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateCategoryVisibility({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.UpdateCategoryVisibility',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/visibility',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategoryVisibility;\n}\n\n/**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n */\nexport function bulkShowCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkShowCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkShowCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/show',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.category.createdDate' },\n { path: 'results.category.updatedDate' },\n { path: 'results.category.image.urlExpirationDate' },\n {\n path: 'results.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'results.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkShowCategories;\n}\n\n/** Adds multiple items to a single category. */\nexport function bulkAddItemsToCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkAddItemsToCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkAddItemsToCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/{categoryId}/add-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkAddItemsToCategory;\n}\n\n/** Adds a single item to multiple categories. */\nexport function bulkAddItemToCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkAddItemToCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkAddItemToCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/add-item',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkAddItemToCategories;\n}\n\n/** Removes multiple items from a single category. */\nexport function bulkRemoveItemsFromCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveItemsFromCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkRemoveItemsFromCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/{categoryId}/remove-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveItemsFromCategory;\n}\n\n/** Removes a single item from multiple categories. */\nexport function bulkRemoveItemFromCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveItemFromCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkRemoveItemFromCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/remove-item',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveItemFromCategories;\n}\n\n/**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n */\nexport function listItemsInCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __listItemsInCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListItemsInCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listItemsInCategory;\n}\n\n/** Retrieves a list of categories that contain the specified item. */\nexport function listCategoriesForItem(\n payload: object\n): RequestOptionsFactory<any> {\n function __listCategoriesForItem({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listCategoriesForItem;\n}\n\n/** Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item. */\nexport function listCategoriesForItems(\n payload: object\n): RequestOptionsFactory<any> {\n function __listCategoriesForItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listCategoriesForItems;\n}\n\n/** Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order. */\nexport function listTrees(payload: object): RequestOptionsFactory<any> {\n function __listTrees({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.ListTrees',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-trees',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __listTrees;\n}\n\n/**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n */\nexport function setArrangedItems(payload: object): RequestOptionsFactory<any> {\n function __setArrangedItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.SetArrangedItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/set-arranged-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __setArrangedItems;\n}\n\n/** Retrieves a list of arranged items in a category. */\nexport function getArrangedItems(payload: object): RequestOptionsFactory<any> {\n function __getArrangedItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.GetArrangedItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/arranged-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getArrangedItems;\n}\n\n/**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n */\nexport function bulkSetItemCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkSetItemCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkSetItemCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/set-item-categories',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkSetItemCategories;\n}\n","import {\n createCategory as publicCreateCategory,\n getCategory as publicGetCategory,\n updateCategory as publicUpdateCategory,\n deleteCategory as publicDeleteCategory,\n queryCategories as publicQueryCategories,\n searchCategories as publicSearchCategories,\n countCategories as publicCountCategories,\n moveCategory as publicMoveCategory,\n bulkUpdateCategories as publicBulkUpdateCategories,\n updateCategoryVisibility as publicUpdateCategoryVisibility,\n bulkShowCategories as publicBulkShowCategories,\n bulkAddItemsToCategory as publicBulkAddItemsToCategory,\n bulkAddItemToCategories as publicBulkAddItemToCategories,\n bulkRemoveItemsFromCategory as publicBulkRemoveItemsFromCategory,\n bulkRemoveItemFromCategories as publicBulkRemoveItemFromCategories,\n listItemsInCategory as publicListItemsInCategory,\n listCategoriesForItem as publicListCategoriesForItem,\n listCategoriesForItems as publicListCategoriesForItems,\n listTrees as publicListTrees,\n setArrangedItems as publicSetArrangedItems,\n getArrangedItems as publicGetArrangedItems,\n bulkSetItemCategories as publicBulkSetItemCategories,\n} from './categories-v1-category-categories.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onCategoryMoved as publicOnCategoryMoved } from './categories-v1-category-categories.public.js';\nimport { onCategoryCreated as publicOnCategoryCreated } from './categories-v1-category-categories.public.js';\nimport { onCategoryDeleted as publicOnCategoryDeleted } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemAddedToCategory as publicOnCategoryItemAddedToCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemRemovedFromCategory as publicOnCategoryItemRemovedFromCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemsArrangedInCategory as publicOnCategoryItemsArrangedInCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryUpdated as publicOnCategoryUpdated } from './categories-v1-category-categories.public.js';\n\nexport const createCategory: MaybeContext<\n BuildRESTFunction<typeof publicCreateCategory> & typeof publicCreateCategory\n> = /*#__PURE__*/ createRESTModule(publicCreateCategory);\nexport const getCategory: MaybeContext<\n BuildRESTFunction<typeof publicGetCategory> & typeof publicGetCategory\n> = /*#__PURE__*/ createRESTModule(publicGetCategory);\nexport const updateCategory: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCategory> & typeof publicUpdateCategory\n> = /*#__PURE__*/ createRESTModule(publicUpdateCategory);\nexport const deleteCategory: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCategory> & typeof publicDeleteCategory\n> = /*#__PURE__*/ createRESTModule(publicDeleteCategory);\nexport const queryCategories: MaybeContext<\n BuildRESTFunction<typeof publicQueryCategories> & typeof publicQueryCategories\n> = /*#__PURE__*/ createRESTModule(publicQueryCategories);\nexport const searchCategories: MaybeContext<\n BuildRESTFunction<typeof publicSearchCategories> &\n typeof publicSearchCategories\n> = /*#__PURE__*/ createRESTModule(publicSearchCategories);\nexport const countCategories: MaybeContext<\n BuildRESTFunction<typeof publicCountCategories> & typeof publicCountCategories\n> = /*#__PURE__*/ createRESTModule(publicCountCategories);\nexport const moveCategory: MaybeContext<\n BuildRESTFunction<typeof publicMoveCategory> & typeof publicMoveCategory\n> = /*#__PURE__*/ createRESTModule(publicMoveCategory);\nexport const bulkUpdateCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateCategories> &\n typeof publicBulkUpdateCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateCategories);\nexport const updateCategoryVisibility: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCategoryVisibility> &\n typeof publicUpdateCategoryVisibility\n> = /*#__PURE__*/ createRESTModule(publicUpdateCategoryVisibility);\nexport const bulkShowCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkShowCategories> &\n typeof publicBulkShowCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkShowCategories);\nexport const bulkAddItemsToCategory: MaybeContext<\n BuildRESTFunction<typeof publicBulkAddItemsToCategory> &\n typeof publicBulkAddItemsToCategory\n> = /*#__PURE__*/ createRESTModule(publicBulkAddItemsToCategory);\nexport const bulkAddItemToCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkAddItemToCategories> &\n typeof publicBulkAddItemToCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkAddItemToCategories);\nexport const bulkRemoveItemsFromCategory: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveItemsFromCategory> &\n typeof publicBulkRemoveItemsFromCategory\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveItemsFromCategory);\nexport const bulkRemoveItemFromCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveItemFromCategories> &\n typeof publicBulkRemoveItemFromCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveItemFromCategories);\nexport const listItemsInCategory: MaybeContext<\n BuildRESTFunction<typeof publicListItemsInCategory> &\n typeof publicListItemsInCategory\n> = /*#__PURE__*/ createRESTModule(publicListItemsInCategory);\nexport const listCategoriesForItem: MaybeContext<\n BuildRESTFunction<typeof publicListCategoriesForItem> &\n typeof publicListCategoriesForItem\n> = /*#__PURE__*/ createRESTModule(publicListCategoriesForItem);\nexport const listCategoriesForItems: MaybeContext<\n BuildRESTFunction<typeof publicListCategoriesForItems> &\n typeof publicListCategoriesForItems\n> = /*#__PURE__*/ createRESTModule(publicListCategoriesForItems);\nexport const listTrees: MaybeContext<\n BuildRESTFunction<typeof publicListTrees> & typeof publicListTrees\n> = /*#__PURE__*/ createRESTModule(publicListTrees);\nexport const setArrangedItems: MaybeContext<\n BuildRESTFunction<typeof publicSetArrangedItems> &\n typeof publicSetArrangedItems\n> = /*#__PURE__*/ createRESTModule(publicSetArrangedItems);\nexport const getArrangedItems: MaybeContext<\n BuildRESTFunction<typeof publicGetArrangedItems> &\n typeof publicGetArrangedItems\n> = /*#__PURE__*/ createRESTModule(publicGetArrangedItems);\n/** @internal */\nexport const bulkSetItemCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkSetItemCategories> &\n typeof publicBulkSetItemCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkSetItemCategories);\n/**\n * Triggered when a category is moved.\n */\nexport const onCategoryMoved: BuildEventDefinition<\n typeof publicOnCategoryMoved\n> = createEventModule(publicOnCategoryMoved);\n/** */\nexport const onCategoryCreated: BuildEventDefinition<\n typeof publicOnCategoryCreated\n> = createEventModule(publicOnCategoryCreated);\n/** */\nexport const onCategoryDeleted: BuildEventDefinition<\n typeof publicOnCategoryDeleted\n> = createEventModule(publicOnCategoryDeleted);\n/**\n * Triggered when an item is added to a category.\n */\nexport const onCategoryItemAddedToCategory: BuildEventDefinition<\n typeof publicOnCategoryItemAddedToCategory\n> = createEventModule(publicOnCategoryItemAddedToCategory);\n/**\n * Triggered when an item is removed from a category.\n */\nexport const onCategoryItemRemovedFromCategory: BuildEventDefinition<\n typeof publicOnCategoryItemRemovedFromCategory\n> = createEventModule(publicOnCategoryItemRemovedFromCategory);\n/**\n * Triggered when items arrangement in category is changed.\n */\nexport const onCategoryItemsArrangedInCategory: BuildEventDefinition<\n typeof publicOnCategoryItemsArrangedInCategory\n> = createEventModule(publicOnCategoryItemsArrangedInCategory);\n/** */\nexport const onCategoryUpdated: BuildEventDefinition<\n typeof publicOnCategoryUpdated\n> = createEventModule(publicOnCategoryUpdated);\n\nexport {\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n ImageStylesPosition,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n SingleEntityOpsRequestedFields,\n SortOrder,\n RequestedFields,\n SortType,\n SortDirection,\n MissingValues,\n ScalarType,\n NestedAggregationType,\n Interval,\n AggregationType,\n Mode,\n Position,\n MoveItemInCategoryRequestPosition,\n WebhookIdentityType,\n} from './categories-v1-category-categories.universal.js';\nexport {\n Category,\n BreadcrumbsInfo,\n Breadcrumb,\n ParentCategory,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutCellData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n TreeReference,\n ExtendedFields,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n App,\n Page,\n URI,\n File,\n CustomTag,\n CategoryMoved,\n ItemAddedToCategory,\n ItemReference,\n ItemsAddedToCategory,\n ItemRemovedFromCategory,\n ItemsRemovedFromCategory,\n ItemsArrangedInCategory,\n CreateCategoryRequest,\n CreateCategoryResponse,\n GetCategoryRequest,\n GetCategoryResponse,\n UpdateCategoryRequest,\n UpdateCategoryResponse,\n DeleteCategoryRequest,\n DeleteCategoryResponse,\n QueryCategoriesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryCategoriesResponse,\n CursorPagingMetadata,\n Cursors,\n ListCompactCategoriesByIdsRequest,\n ListCompactCategoriesByIdsResponse,\n CompactCategory,\n SearchCategoriesRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Aggregation,\n AggregationKindOneOf,\n RangeBucket,\n IncludeMissingValuesOptions,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n RangeAggregation,\n ScalarAggregation,\n DateHistogramAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregation,\n SearchDetails,\n SearchCategoriesResponse,\n AggregationData,\n ValueAggregationResult,\n RangeAggregationResult,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n ValueResults,\n RangeResults,\n AggregationResultsScalarResult,\n NestedValueAggregationResult,\n ValueResult,\n RangeResult,\n ScalarResult,\n NestedResultValue,\n NestedResultValueResultOneOf,\n Results,\n DateHistogramResult,\n GroupByValueResults,\n DateHistogramResults,\n NestedResults,\n AggregationResults,\n AggregationResultsResultOneOf,\n DeprecatedSearchCategoriesWithOffsetRequest,\n OffsetSearch,\n OffsetSearchPagingMethodOneOf,\n Paging,\n DeprecatedSearchCategoriesWithOffsetResponse,\n PagingMetadata,\n CountCategoriesRequest,\n CountCategoriesResponse,\n MoveCategoryRequest,\n MoveCategoryResponse,\n BulkUpdateCategoriesRequest,\n MaskedCategory,\n BulkUpdateCategoriesResponse,\n BulkCategoriesResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n UpdateCategoryVisibilityRequest,\n UpdateCategoryVisibilityResponse,\n BulkShowCategoriesRequest,\n BulkShowCategoriesResponse,\n BulkDeleteCategoriesRequest,\n BulkDeleteCategoriesResponse,\n BulkDeleteCategoriesResponseBulkCategoriesResult,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkItemsToCategoryResult,\n ItemReferenceMetadata,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkItemToCategoriesResult,\n BulkRemoveItemsFromCategoryRequest,\n BulkRemoveItemsFromCategoryResponse,\n BulkRemoveItemFromCategoriesRequest,\n BulkRemoveItemFromCategoriesResponse,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n PagingMetadataV2,\n ListCategoriesForItemRequest,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsRequest,\n ListCategoriesForItemsResponse,\n MapItemToCategories,\n ListTreesRequest,\n ListTreesResponse,\n MoveItemInCategoryRequest,\n MoveItemInCategoryResponse,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n GetArrangedItemsRequest,\n GetArrangedItemsResponse,\n BulkSetItemCategoriesRequest,\n BulkSetItemCategoriesResponse,\n GetCategoriesTreeRequest,\n GetCategoriesTreeResponse,\n CategoryTreeNode,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n CategoryMovedEnvelope,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryUpdatedEnvelope,\n CreateCategoryOptions,\n GetCategoryOptions,\n UpdateCategory,\n UpdateCategoryOptions,\n QueryCategoriesOptions,\n CategoriesQueryResult,\n CategoriesQueryBuilder,\n SearchCategoriesOptions,\n CategorySearchSpec,\n CountCategoriesOptions,\n MoveCategoryOptions,\n BulkUpdateCategoriesOptions,\n UpdateCategoryVisibilityOptions,\n BulkShowCategoriesOptions,\n BulkAddItemsToCategoryOptions,\n BulkAddItemToCategoriesOptions,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemFromCategoriesOptions,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListCategoriesForItemOptions,\n ListCategoriesForItemsOptions,\n SetArrangedItemsOptions,\n BulkSetItemCategoriesOptions,\n} from './categories-v1-category-categories.universal.js';\nexport {\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n ImageStylesPositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n SingleEntityOpsRequestedFieldsWithLiterals,\n SortOrderWithLiterals,\n RequestedFieldsWithLiterals,\n SortTypeWithLiterals,\n SortDirectionWithLiterals,\n MissingValuesWithLiterals,\n ScalarTypeWithLiterals,\n NestedAggregationTypeWithLiterals,\n IntervalWithLiterals,\n AggregationTypeWithLiterals,\n ModeWithLiterals,\n PositionWithLiterals,\n MoveItemInCategoryRequestPositionWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCategoryApplicationErrors,\n UpdateCategoryApplicationErrors,\n DeleteCategoryApplicationErrors,\n MoveCategoryApplicationErrors,\n BulkUpdateCategoriesApplicationErrors,\n UpdateCategoryVisibilityApplicationErrors,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemToCategoriesApplicationErrors,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemFromCategoriesApplicationErrors,\n SetArrangedItemsApplicationErrors,\n BulkSetItemCategoriesApplicationErrors,\n CommonSearchWithEntityContext,\n CategorySearch,\n} from './categories-v1-category-categories.universal.js';\n"],"mappings":"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","names":["bulkAddItemToCategories","bulkAddItemsToCategory","bulkRemoveItemFromCategories","bulkRemoveItemsFromCategory","bulkSetItemCategories","bulkShowCategories","bulkUpdateCategories","countCategories","createCategory","deleteCategory","getArrangedItems","getCategory","listCategoriesForItem","listCategoriesForItems","listItemsInCategory","listTrees","moveCategory","onCategoryCreated","onCategoryDeleted","onCategoryItemAddedToCategory","onCategoryItemRemovedFromCategory","onCategoryItemsArrangedInCategory","onCategoryMoved","onCategoryUpdated","queryCategories","searchCategories","setArrangedItems","updateCategory","updateCategoryVisibility","import_rename_all_nested_keys","import_float","import_image","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_image","import_transform_paths","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","ImageStylesPosition","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","SingleEntityOpsRequestedFields","SortOrder","RequestedFields","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","Mode","Position","MoveItemInCategoryRequestPosition","WebhookIdentityType","createCategory","sdkTransformError","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","createCategory","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","import_rest_modules","createCategory","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","onCategoryMoved","onCategoryCreated","onCategoryDeleted","onCategoryItemAddedToCategory","onCategoryItemRemovedFromCategory","onCategoryItemsArrangedInCategory","onCategoryUpdated"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/categories-v1-category-categories.public.ts","../../src/categories-v1-category-categories.universal.ts","../../src/categories-v1-category-categories.http.ts","../../src/categories-v1-category-categories.context.ts"],"sourcesContent":["export * from './src/categories-v1-category-categories.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkAddItemToCategoriesApplicationErrors,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryResponse,\n BulkRemoveItemFromCategoriesApplicationErrors,\n BulkRemoveItemFromCategoriesOptions,\n BulkRemoveItemFromCategoriesResponse,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemsFromCategoryResponse,\n BulkSetItemCategoriesApplicationErrors,\n BulkSetItemCategoriesOptions,\n BulkSetItemCategoriesResponse,\n BulkShowCategoriesOptions,\n BulkShowCategoriesResponse,\n BulkUpdateCategoriesApplicationErrors,\n BulkUpdateCategoriesOptions,\n BulkUpdateCategoriesResponse,\n CategoriesQueryBuilder,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMovedEnvelope,\n CategorySearch,\n CategoryUpdatedEnvelope,\n CountCategoriesOptions,\n CountCategoriesResponse,\n CreateCategoryApplicationErrors,\n CreateCategoryOptions,\n DeleteCategoryApplicationErrors,\n GetArrangedItemsResponse,\n GetCategoryOptions,\n ItemReference,\n ListCategoriesForItemOptions,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsOptions,\n ListCategoriesForItemsResponse,\n ListItemsInCategoryOptions,\n ListItemsInCategoryResponse,\n ListTreesResponse,\n MaskedCategory,\n MoveCategoryApplicationErrors,\n MoveCategoryOptions,\n MoveCategoryResponse,\n QueryCategoriesOptions,\n SearchCategoriesOptions,\n SearchCategoriesResponse,\n SetArrangedItemsApplicationErrors,\n SetArrangedItemsOptions,\n SetArrangedItemsResponse,\n TreeReference,\n UpdateCategory,\n UpdateCategoryApplicationErrors,\n UpdateCategoryOptions,\n UpdateCategoryVisibilityApplicationErrors,\n UpdateCategoryVisibilityOptions,\n UpdateCategoryVisibilityResponse,\n bulkAddItemToCategories as universalBulkAddItemToCategories,\n bulkAddItemsToCategory as universalBulkAddItemsToCategory,\n bulkRemoveItemFromCategories as universalBulkRemoveItemFromCategories,\n bulkRemoveItemsFromCategory as universalBulkRemoveItemsFromCategory,\n bulkSetItemCategories as universalBulkSetItemCategories,\n bulkShowCategories as universalBulkShowCategories,\n bulkUpdateCategories as universalBulkUpdateCategories,\n countCategories as universalCountCategories,\n createCategory as universalCreateCategory,\n deleteCategory as universalDeleteCategory,\n getArrangedItems as universalGetArrangedItems,\n getCategory as universalGetCategory,\n listCategoriesForItem as universalListCategoriesForItem,\n listCategoriesForItems as universalListCategoriesForItems,\n listItemsInCategory as universalListItemsInCategory,\n listTrees as universalListTrees,\n moveCategory as universalMoveCategory,\n queryCategories as universalQueryCategories,\n searchCategories as universalSearchCategories,\n setArrangedItems as universalSetArrangedItems,\n updateCategory as universalUpdateCategory,\n updateCategoryVisibility as universalUpdateCategoryVisibility,\n} from './categories-v1-category-categories.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/categories' };\n\nexport function createCategory(\n httpClient: HttpClient\n): CreateCategorySignature {\n return (\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalCreateCategory(\n category,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCategorySignature {\n /**\n * Creates a category.\n * @param - Category to create.\n * @returns Created category.\n */\n (\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n }\n >;\n}\n\nexport function getCategory(httpClient: HttpClient): GetCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n ) =>\n universalGetCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCategorySignature {\n /**\n * Retrieves a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n * @returns Category.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n >\n >;\n}\n\nexport function updateCategory(\n httpClient: HttpClient\n): UpdateCategorySignature {\n return (\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalUpdateCategory(\n _id,\n category,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCategorySignature {\n /**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - Category ID.\n * @returns Updated category.\n */\n (\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n }\n >;\n}\n\nexport function deleteCategory(\n httpClient: HttpClient\n): DeleteCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ) =>\n universalDeleteCategory(\n categoryId,\n treeReference,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCategorySignature {\n /**\n * Deletes a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ): Promise<\n void & {\n __applicationErrorsType?: DeleteCategoryApplicationErrors;\n }\n >;\n}\n\nexport function queryCategories(\n httpClient: HttpClient\n): QueryCategoriesSignature {\n return (options: QueryCategoriesOptions) =>\n universalQueryCategories(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryCategoriesSignature {\n /**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n */\n (options: QueryCategoriesOptions): CategoriesQueryBuilder;\n}\n\nexport function searchCategories(\n httpClient: HttpClient\n): SearchCategoriesSignature {\n return (\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalSearchCategories(\n search,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchCategoriesSignature {\n /**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n * @param - Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n */\n (\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n SearchCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n >;\n}\n\nexport function countCategories(\n httpClient: HttpClient\n): CountCategoriesSignature {\n return (\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalCountCategories(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountCategoriesSignature {\n /**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n */\n (\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<NonNullablePaths<CountCategoriesResponse, `count`, 2>>;\n}\n\nexport function moveCategory(httpClient: HttpClient): MoveCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n ) =>\n universalMoveCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface MoveCategorySignature {\n /**\n * Moves a category within its parent category, or to a different parent category.\n * @param - ID of the category to move.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n ): Promise<\n NonNullablePaths<MoveCategoryResponse, `categoriesAfterMove`, 2> & {\n __applicationErrorsType?: MoveCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkUpdateCategories(\n httpClient: HttpClient\n): BulkUpdateCategoriesSignature {\n return (\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkUpdateCategories(\n categories,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateCategoriesSignature {\n /**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - List of categories to update.\n */\n (\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkUpdateCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function updateCategoryVisibility(\n httpClient: HttpClient\n): UpdateCategoryVisibilitySignature {\n return (\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n ) =>\n universalUpdateCategoryVisibility(\n categoryId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCategoryVisibilitySignature {\n /**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param - Category ID.\n */\n (\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n UpdateCategoryVisibilityResponse,\n | `category.itemCounter`\n | `category.breadcrumbsInfo.breadcrumbs`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `category.seoData.tags`\n | `category.seoData.tags.${number}.type`\n | `category.seoData.tags.${number}.children`\n | `category.seoData.tags.${number}.custom`\n | `category.seoData.tags.${number}.disabled`\n | `category.seoData.settings.preventAutoRedirect`\n | `category.seoData.settings.keywords`\n | `category.seoData.settings.keywords.${number}.term`\n | `category.seoData.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateCategoryVisibilityApplicationErrors;\n }\n >;\n}\n\nexport function bulkShowCategories(\n httpClient: HttpClient\n): BulkShowCategoriesSignature {\n return (\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkShowCategories(\n categoryIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkShowCategoriesSignature {\n /**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n * @param - IDs of the categories to update.\n */\n (\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkShowCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport function bulkAddItemsToCategory(\n httpClient: HttpClient\n): BulkAddItemsToCategorySignature {\n return (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkAddItemsToCategory(\n categoryId,\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkAddItemsToCategorySignature {\n /**\n * Adds multiple items to a single category.\n * @param - Category ID.\n * @param - List of items to add.\n */\n (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkAddItemsToCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemsToCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkAddItemToCategories(\n httpClient: HttpClient\n): BulkAddItemToCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkAddItemToCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkAddItemToCategoriesSignature {\n /**\n * Adds a single item to multiple categories.\n * @param - Item to add.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkAddItemToCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemToCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function bulkRemoveItemsFromCategory(\n httpClient: HttpClient\n): BulkRemoveItemsFromCategorySignature {\n return (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkRemoveItemsFromCategory(\n categoryId,\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveItemsFromCategorySignature {\n /**\n * Removes multiple items from a single category.\n * @param - Category ID.\n * @param - List of items to remove.\n */\n (\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkRemoveItemsFromCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemsFromCategoryApplicationErrors;\n }\n >;\n}\n\nexport function bulkRemoveItemFromCategories(\n httpClient: HttpClient\n): BulkRemoveItemFromCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkRemoveItemFromCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkRemoveItemFromCategoriesSignature {\n /**\n * Removes a single item from multiple categories.\n * @param - Item to remove.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkRemoveItemFromCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemFromCategoriesApplicationErrors;\n }\n >;\n}\n\nexport function listItemsInCategory(\n httpClient: HttpClient\n): ListItemsInCategorySignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n ) =>\n universalListItemsInCategory(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListItemsInCategorySignature {\n /**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n ): Promise<\n NonNullablePaths<\n ListItemsInCategoryResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n >;\n}\n\nexport function listCategoriesForItem(\n httpClient: HttpClient\n): ListCategoriesForItemSignature {\n return (\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalListCategoriesForItem(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListCategoriesForItemSignature {\n /**\n * Retrieves a list of categories that contain the specified item.\n * @param - Item reference info.\n */\n (\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n ListCategoriesForItemResponse,\n `directCategoryIds` | `allCategoryIds`,\n 2\n >\n >;\n}\n\nexport function listCategoriesForItems(\n httpClient: HttpClient\n): ListCategoriesForItemsSignature {\n return (\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalListCategoriesForItems(\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListCategoriesForItemsSignature {\n /**\n * Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item.\n * @param - List of Item reference info.\n */\n (\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n ListCategoriesForItemsResponse,\n | `categoriesForItems`\n | `categoriesForItems.${number}.item.catalogItemId`\n | `categoriesForItems.${number}.item.appId`,\n 5\n >\n >;\n}\n\nexport function listTrees(httpClient: HttpClient): ListTreesSignature {\n return () =>\n universalListTrees(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListTreesSignature {\n /**\n * Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order.\n */\n (): Promise<\n NonNullablePaths<\n ListTreesResponse,\n `trees` | `trees.${number}.appNamespace`,\n 4\n >\n >;\n}\n\nexport function setArrangedItems(\n httpClient: HttpClient\n): SetArrangedItemsSignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n ) =>\n universalSetArrangedItems(\n categoryId,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetArrangedItemsSignature {\n /**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n ): Promise<\n NonNullablePaths<\n SetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n > & {\n __applicationErrorsType?: SetArrangedItemsApplicationErrors;\n }\n >;\n}\n\nexport function getArrangedItems(\n httpClient: HttpClient\n): GetArrangedItemsSignature {\n return (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ) =>\n universalGetArrangedItems(\n categoryId,\n treeReference,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetArrangedItemsSignature {\n /**\n * Retrieves a list of arranged items in a category.\n * @param - Category ID.\n * @param - Category tree reference details.\n */\n (\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n ): Promise<\n NonNullablePaths<\n GetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function bulkSetItemCategories(\n httpClient: HttpClient\n): BulkSetItemCategoriesSignature {\n return (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ) =>\n universalBulkSetItemCategories(\n item,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkSetItemCategoriesSignature {\n /**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n * @param - The item to update.\n */\n (\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n BulkSetItemCategoriesResponse,\n | `addResults`\n | `addResults.${number}.itemMetadata.originalIndex`\n | `addResults.${number}.itemMetadata.success`\n | `addResults.${number}.itemMetadata.error.code`\n | `addResults.${number}.itemMetadata.error.description`\n | `removeResults`\n | `removeResults.${number}.itemMetadata.originalIndex`\n | `removeResults.${number}.itemMetadata.success`\n | `removeResults.${number}.itemMetadata.error.code`\n | `removeResults.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetItemCategoriesApplicationErrors;\n }\n >;\n}\n\nexport const onCategoryMoved = EventDefinition(\n 'wix.categories.v1.category_category_moved',\n true,\n (event: CategoryMovedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryMovedEnvelope>();\nexport const onCategoryCreated = EventDefinition(\n 'wix.categories.v1.category_created',\n true,\n (event: CategoryCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'entity.richContentDescription.metadata.createdTimestamp' },\n { path: 'entity.richContentDescription.metadata.updatedTimestamp' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryCreatedEnvelope>();\nexport const onCategoryDeleted = EventDefinition(\n 'wix.categories.v1.category_deleted',\n true,\n (event: CategoryDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n {\n path: 'undefined.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'undefined.richContentDescription.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'undefined.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'undefined.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'undefined.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryDeletedEnvelope>();\nexport const onCategoryItemAddedToCategory = EventDefinition(\n 'wix.categories.v1.category_item_added_to_category',\n true,\n (event: CategoryItemAddedToCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemAddedToCategoryEnvelope>();\nexport const onCategoryItemRemovedFromCategory = EventDefinition(\n 'wix.categories.v1.category_item_removed_from_category',\n true,\n (event: CategoryItemRemovedFromCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemRemovedFromCategoryEnvelope>();\nexport const onCategoryItemsArrangedInCategory = EventDefinition(\n 'wix.categories.v1.category_items_arranged_in_category',\n true,\n (event: CategoryItemsArrangedInCategoryEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ])\n )\n)<CategoryItemsArrangedInCategoryEnvelope>();\nexport const onCategoryUpdated = EventDefinition(\n 'wix.categories.v1.category_updated',\n true,\n (event: CategoryUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'entity.richContentDescription.metadata.createdTimestamp' },\n { path: 'entity.richContentDescription.metadata.updatedTimestamp' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ])\n )\n)<CategoryUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundType,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n Breadcrumb,\n BreadcrumbsInfo,\n BulkActionMetadata,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkCategoriesResult,\n BulkDeleteCategoriesRequest,\n BulkDeleteCategoriesResponse,\n BulkDeleteCategoriesResponseBulkCategoriesResult,\n BulkItemToCategoriesResult,\n BulkItemsToCategoryResult,\n BulkRemoveItemFromCategoriesOptions,\n BulkRemoveItemFromCategoriesRequest,\n BulkRemoveItemFromCategoriesResponse,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemsFromCategoryRequest,\n BulkRemoveItemsFromCategoryResponse,\n BulkSetItemCategoriesOptions,\n BulkSetItemCategoriesRequest,\n BulkSetItemCategoriesResponse,\n BulkShowCategoriesOptions,\n BulkShowCategoriesRequest,\n BulkShowCategoriesResponse,\n BulkUpdateCategoriesOptions,\n BulkUpdateCategoriesRequest,\n BulkUpdateCategoriesResponse,\n BulletedListData,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n CategoriesQueryBuilder,\n CategoriesQueryResult,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMoved,\n CategoryMovedEnvelope,\n CategorySearchSpec,\n CategoryTreeNode,\n CategoryUpdatedEnvelope,\n CellStyle,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n CompactCategory,\n CountCategoriesOptions,\n CountCategoriesRequest,\n CountCategoriesResponse,\n CreateCategoryOptions,\n CreateCategoryRequest,\n CreateCategoryResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomTag,\n DateHistogramAggregation,\n DateHistogramResult,\n DateHistogramResults,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n DeleteCategoryRequest,\n DeleteCategoryResponse,\n DeprecatedSearchCategoriesWithOffsetRequest,\n DeprecatedSearchCategoriesWithOffsetResponse,\n Design,\n Dimensions,\n Direction,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventData,\n EventMetadata,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontSizeData,\n FontType,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GetArrangedItemsRequest,\n GetArrangedItemsResponse,\n GetCategoriesTreeRequest,\n GetCategoriesTreeResponse,\n GetCategoryOptions,\n GetCategoryRequest,\n GetCategoryResponse,\n Gradient,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImageStyles,\n ImageStylesPosition,\n IncludeMissingValuesOptions,\n InitialExpandedItems,\n Interval,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n Item,\n ItemAddedToCategory,\n ItemDataOneOf,\n ItemMetadata,\n ItemReference,\n ItemReferenceMetadata,\n ItemRemovedFromCategory,\n ItemStyle,\n ItemsAddedToCategory,\n ItemsArrangedInCategory,\n ItemsRemovedFromCategory,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListCategoriesForItemOptions,\n ListCategoriesForItemRequest,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsOptions,\n ListCategoriesForItemsRequest,\n ListCategoriesForItemsResponse,\n ListCompactCategoriesByIdsRequest,\n ListCompactCategoriesByIdsResponse,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n ListTreesRequest,\n ListTreesResponse,\n ListValue,\n MapData,\n MapItemToCategories,\n MapSettings,\n MapType,\n MaskedCategory,\n Media,\n MentionData,\n MessageEnvelope,\n Metadata,\n MissingValues,\n Mode,\n MoveCategoryOptions,\n MoveCategoryRequest,\n MoveCategoryResponse,\n MoveItemInCategoryRequest,\n MoveItemInCategoryRequestPosition,\n MoveItemInCategoryResponse,\n NestedAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n NestedAggregationType,\n NestedResultValue,\n NestedResultValueResultOneOf,\n NestedResults,\n NestedValueAggregationResult,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n Oembed,\n OffsetSearch,\n OffsetSearchPagingMethodOneOf,\n Option,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n PDFSettings,\n Page,\n Paging,\n PagingMetadata,\n PagingMetadataV2,\n ParagraphData,\n ParentCategory,\n Permissions,\n Placement,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PricingData,\n QueryCategoriesOptions,\n QueryCategoriesRequest,\n QueryCategoriesResponse,\n RangeAggregation,\n RangeAggregationResult,\n RangeBucket,\n RangeResult,\n RangeResults,\n Rel,\n RequestedFields,\n Resizing,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n SearchCategoriesOptions,\n SearchCategoriesRequest,\n SearchCategoriesResponse,\n SearchDetails,\n SeoSchema,\n SetArrangedItemsOptions,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n Settings,\n SingleEntityOpsRequestedFields,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n Spoiler,\n SpoilerData,\n Styles,\n StylesBorder,\n StylesPosition,\n TableCellData,\n TableData,\n Tag,\n Target,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnails,\n ThumbnailsAlignment,\n TreeReference,\n Type,\n URI,\n UpdateCategory,\n UpdateCategoryOptions,\n UpdateCategoryRequest,\n UpdateCategoryResponse,\n UpdateCategoryVisibilityOptions,\n UpdateCategoryVisibilityRequest,\n UpdateCategoryVisibilityResponse,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n ValueAggregationResult,\n ValueResult,\n ValueResults,\n VerticalAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n} from './categories-v1-category-categories.universal.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 {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n SearchSpec,\n} from '@wix/sdk-types';\nimport * as ambassadorWixCategoriesV1Category from './categories-v1-category-categories.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Category {\n /**\n * Category ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the category is updated.\n * To prevent conflicting changes, the current revision must be passed when updating.\n *\n * Ignored when creating a category.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the category was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the category was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Category image.\n *\n * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n * + Pass full image URL to upload to Wix Media Manager.\n */\n image?: string;\n /**\n * Number of items in this category.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Category description.\n * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n * + Default: `false`.\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs.\n *\n * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Parent category reference data.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /** Custom SEO data for the category. */\n seoData?: SeoSchema;\n /**\n * Category description using rich content.\n * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n */\n richContentDescription?: RichContent;\n /**\n * ID of the app responsible for managing the items in this category.\n *\n * Pass your app ID to restrict updating and deleting items in this category to your app only.\n * @format GUID\n * @immutable\n */\n managingAppId?: string | null;\n /**\n * Custom extended fields for the category object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\nexport interface BreadcrumbsInfo {\n /**\n * List of breadcrumb data. The current category isn't included in the list.\n * @readonly\n * @maxSize 5\n */\n breadcrumbs?: Breadcrumb[];\n}\n\nexport interface Breadcrumb {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n categoryName?: string;\n /**\n * Category slug.\n * @minLength 1\n * @maxLength 100\n */\n categorySlug?: string;\n}\n\nexport interface ParentCategory {\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n _id?: string | null;\n /**\n * Index position of the category within the parent category.\n * @readonly\n */\n index?: number | null;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum ImageStylesPosition {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type ImageStylesPositionWithLiterals =\n | ImageStylesPosition\n | 'START'\n | 'END'\n | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: ImageStylesPositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: Media;\n /** Video thumbnail details. */\n thumbnail?: Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport interface TreeReference {\n /**\n * Namespace of the app that manages the tree.\n *\n * For example, `\"@wix/stores\"`, `\"@bookings/bookingslist\"`, `\"@achievements/quizzes\"`.\n * @minLength 4\n * @maxLength 150\n */\n appNamespace?: string;\n /**\n * Tree key. You must pass this when a single app manages more than one tree.\n * @minLength 1\n * @maxLength 44\n */\n treeKey?: 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 InvalidateCache extends InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n /**\n * tell us why you're invalidating the cache. You don't need to add your app name\n * @maxLength 256\n */\n reason?: string | null;\n /** Is local DS */\n localDc?: boolean;\n hardPurge?: boolean;\n}\n\n/** @oneof */\nexport interface InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n}\n\nexport interface App {\n /**\n * The AppDefId\n * @minLength 1\n */\n appDefId?: string;\n /**\n * The instance Id\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface Page {\n /**\n * the msid the page is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Page ID\n * @minLength 1\n */\n pageId?: string;\n}\n\nexport interface URI {\n /**\n * the msid the URI is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @minLength 1\n */\n uriPath?: string;\n}\n\nexport interface File {\n /**\n * the msid the file is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by filename (for media files such as PDFs)\n * @minLength 1\n * @maxLength 256\n */\n fileName?: string;\n}\n\nexport interface CustomTag {\n /**\n * the msid the tag is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Tag to invalidate by\n * @minLength 1\n * @maxLength 256\n */\n tag?: string;\n}\n\nexport interface CategoryMoved {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Parent category details. */\n parentCategory?: ParentCategory;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemAddedToCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Details about the added item. */\n addedItem?: ItemReference;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemReference {\n /**\n * ID of the item within the catalog it belongs to.\n *\n * For example, `product.id` for Wix Stores or `event.id` for Wix Events.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n * @maxLength 36\n */\n appId?: string;\n}\n\nexport interface ItemsAddedToCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * List of added items.\n * @maxSize 100\n */\n addedItems?: ItemReference[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemRemovedFromCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Details about the removed item. */\n removedItem?: ItemReference;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemsRemovedFromCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * List of removed items.\n * @maxSize 100\n */\n removedItems?: ItemReference[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface ItemsArrangedInCategory {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface CreateCategoryRequest {\n /** Category to create. */\n category: Category;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport enum SingleEntityOpsRequestedFields {\n /** Not implemented. */\n UNKNOWN_REQUESTED_FIELD = 'UNKNOWN_REQUESTED_FIELD',\n BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type SingleEntityOpsRequestedFieldsWithLiterals =\n | SingleEntityOpsRequestedFields\n | 'UNKNOWN_REQUESTED_FIELD'\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\n\nexport interface CreateCategoryResponse {\n /** Created category. */\n category?: Category;\n}\n\nexport interface GetCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface GetCategoryResponse {\n /** Category. */\n category?: Category;\n}\n\nexport interface UpdateCategoryRequest {\n /** Category to update. */\n category: Category;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateCategoryResponse {\n /** Updated category. */\n category?: Category;\n}\n\nexport interface DeleteCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface DeleteCategoryResponse {}\n\nexport interface QueryCategoriesRequest {\n /** Query options. */\n query?: CursorQuery;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return non-visible categories.\n *\n * Default: `false` (only visible categories are returned)\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\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 in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\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 * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n /** Ascending order. */\n ASC = 'ASC',\n /** Descending 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 in the results.\n * @max 1000\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 enum RequestedFields {\n /** Not implemented. */\n UNKNOWN_REQUESTED_FIELD = 'UNKNOWN_REQUESTED_FIELD',\n BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'UNKNOWN_REQUESTED_FIELD'\n | 'BREADCRUMBS_INFO';\n\nexport interface QueryCategoriesResponse {\n /**\n * List of categories.\n * @maxSize 1000\n */\n categories?: Category[];\n /** Paging metadata. */\n pagingMetadata?: 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 ListCompactCategoriesByIdsRequest {\n /**\n * List of category ids.\n * @format GUID\n * @minSize 1\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** A reference to the tree that contains the categories. */\n treeReference?: TreeReference;\n}\n\nexport interface ListCompactCategoriesByIdsResponse {\n /** Categories which satisfy the provided ids. */\n categories?: CompactCategory[];\n}\n\nexport interface CompactCategory {\n /**\n * Category ID.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n}\n\nexport interface SearchCategoriesRequest {\n /**\n * Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n */\n search?: CursorSearch;\n /**\n * Category tree reference details.\n * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n */\n treeReference: TreeReference;\n /**\n * Whether to return the categories with `visible` set to `false`.\n *\n * Default: `false`. Only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Array of projected fields. A list of specific field names to return.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n /**\n * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n * `filter`, `sort`, or `search` can't be specified.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object for narrowing search results. For example, to return only categories from the Stores app: `\"filter\": {\"appNamespace\": \"@wix/stores\"}`.\n *\n * Learn more about the filter format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST).\n */\n filter?: Record<string, any> | null;\n /**\n * Array of sort objects specifying result order. For example, to sort by creation date in ascending order: `\"sort\": [{\"fieldName\": \"createdDate\", \"order\": \"ASC\"}]`.\n *\n * Learn more about the sort format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST).\n * @maxSize 10\n */\n sort?: Sorting[];\n /**\n * Aggregations for grouping data into categories (facets) and providing summaries for each category.\n * For example, use aggregations to categorize search results by service type, payment options, or locations.\n * @maxSize 10\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.\n *\n * Default: Time zone specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).\n * @maxLength 50\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n /**\n * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n * `filter`, `sort`, or `search` can't be specified.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n /** Value aggregation configuration. */\n value?: ValueAggregation;\n /** Range aggregation configuration. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. */\n dateHistogram?: DateHistogramAggregation;\n /** Nested aggregation configuration. */\n nested?: NestedAggregation;\n /**\n * User-defined name of aggregation. Must be unique and will appear in aggregation results.\n * @maxLength 100\n */\n name?: string | null;\n /** Type of aggregation. Client must specify matching aggregation field below. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n /** Value aggregation configuration. */\n value?: ValueAggregation;\n /** Range aggregation configuration. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. */\n dateHistogram?: DateHistogramAggregation;\n /** Nested aggregation configuration. */\n nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n /** Inclusive lower bound of the range. Required if `to` isn't specified. */\n from?: number | null;\n /** Exclusive upper bound of the range. Required if `from` isn't specified. */\n to?: number | null;\n}\n\nexport enum SortType {\n /** Sort by number of matches. */\n COUNT = 'COUNT',\n /** Sort alphabetically by field value. */\n VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n /** Descending order. */\n DESC = 'DESC',\n /** Ascending order. */\n ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n /** Exclude missing values from the aggregation results. */\n EXCLUDE = 'EXCLUDE',\n /** Include missing values in the aggregation results. */\n INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n /**\n * Custom bucket name for missing values.\n *\n * Default values:\n * - string: `N/A`\n * - int: `0`\n * - bool: `false`\n * @maxLength 20\n */\n addToBucket?: string;\n}\n\nexport enum ScalarType {\n UNKNOWN_SCALAR_TYPE = 'UNKNOWN_SCALAR_TYPE',\n /** Total number of distinct values. */\n COUNT_DISTINCT = 'COUNT_DISTINCT',\n /** Minimum value. */\n MIN = 'MIN',\n /** Maximum value. */\n MAX = 'MAX',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n | ScalarType\n | 'UNKNOWN_SCALAR_TYPE'\n | 'COUNT_DISTINCT'\n | 'MIN'\n | 'MAX';\n\nexport interface ValueAggregation extends ValueAggregationOptionsOneOf {\n /** Options for including missing values in the aggregation results. */\n includeOptions?: IncludeMissingValuesOptions;\n /** Whether to sort by number of matches or value of the field. */\n sortType?: SortTypeWithLiterals;\n /** Whether to sort in ascending or descending order. */\n sortDirection?: SortDirectionWithLiterals;\n /**\n * Number of aggregations to return.\n *\n * Min: `1`\n * Max: `250`\n * Default: `10`\n */\n limit?: number | null;\n /**\n * Whether missing values should be included or excluded from the aggregation results.\n *\n * Default: `EXCLUDE`\n */\n missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n /** Options for including missing values in the aggregation results. */\n includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport enum NestedAggregationType {\n /** Unknown aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n VALUE = 'VALUE',\n /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n RANGE = 'RANGE',\n /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n SCALAR = 'SCALAR',\n /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n}\n\n/** @enumType */\nexport type NestedAggregationTypeWithLiterals =\n | NestedAggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM';\n\nexport interface RangeAggregation {\n /**\n * List of range buckets defining the ranges for aggregation. During aggregation, each entity is placed in the first bucket where its value falls within the specified range bounds.\n * @maxSize 50\n */\n buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n /** Operator for the scalar aggregation, for example `COUNT_DISTINCT`, `MIN`, `MAX`. */\n type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n /** Time interval for date histogram aggregation, for example `DAY`, `HOUR`, `MONTH`. */\n interval?: IntervalWithLiterals;\n}\n\nexport enum Interval {\n UNKNOWN_INTERVAL = 'UNKNOWN_INTERVAL',\n /** Yearly interval. */\n YEAR = 'YEAR',\n /** Monthly interval. */\n MONTH = 'MONTH',\n /** Weekly interval. */\n WEEK = 'WEEK',\n /** Daily interval. */\n DAY = 'DAY',\n /** Hourly interval. */\n HOUR = 'HOUR',\n /** Minute interval. */\n MINUTE = 'MINUTE',\n /** Second interval. */\n SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type IntervalWithLiterals =\n | Interval\n | 'UNKNOWN_INTERVAL'\n | 'YEAR'\n | 'MONTH'\n | 'WEEK'\n | 'DAY'\n | 'HOUR'\n | 'MINUTE'\n | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */\n value?: ValueAggregation;\n /** Range aggregation configuration. Calculates counts within user-defined value ranges. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. Calculates counts within time intervals. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * User-defined name of aggregation. Must be unique and will appear in aggregation results.\n * @maxLength 100\n */\n name?: string | null;\n /** Type of aggregation. Client must specify matching aggregation field below. */\n type?: NestedAggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */\n value?: ValueAggregation;\n /** Range aggregation configuration. Calculates counts within user-defined value ranges. */\n range?: RangeAggregation;\n /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */\n scalar?: ScalarAggregation;\n /** Date histogram aggregation configuration. Calculates counts within time intervals. */\n dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */\n VALUE = 'VALUE',\n /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */\n RANGE = 'RANGE',\n /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */\n SCALAR = 'SCALAR',\n /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n /** Flattened list of aggregations, where each aggregation is nested within previous 1. */\n NESTED = 'NESTED',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n | AggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM'\n | 'NESTED';\n\n/** Nested aggregation for multi-level faceted search. Allows exploring large amounts of data through multiple levels of categorization, where each subsequent aggregation is nested within the previous aggregation to create hierarchical data summaries. */\nexport interface NestedAggregation {\n /**\n * Flattened list of aggregations, where each next aggregation is nested within the previous 1.\n * @minSize 2\n * @maxSize 3\n */\n nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface SearchDetails {\n /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n mode?: ModeWithLiterals;\n /**\n * Search term or expression.\n * @maxLength 100\n */\n expression?: string | null;\n /**\n * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `parentCategory.index`.\n * @maxLength 200\n * @maxSize 20\n */\n fields?: string[];\n /** Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n fuzzy?: boolean;\n}\n\nexport enum Mode {\n /** At least 1 of the search terms must be present. */\n OR = 'OR',\n /** All search terms must be present. */\n AND = 'AND',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchCategoriesResponse {\n /**\n * Retrieved categories that match the search criteria specified in the request.\n *\n * Each category includes all standard category information.\n * @maxSize 1000\n */\n categories?: Category[];\n /**\n * Cursor-based paging metadata for navigating search results.\n *\n * Contains the current page's cursor information, whether there are more results available,\n * and count details. Use the `next` cursor to retrieve subsequent pages of results.\n */\n pagingMetadata?: CursorPagingMetadata;\n /**\n * Aggregation results based on the aggregations specified in the search request.\n *\n * Provides categorized data summaries. Only available when aggregations\n * are requested in the search criteria.\n */\n aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n /**\n * Array of aggregation results, each containing the aggregation metadata and its calculated values for the specified search criteria.\n * @maxSize 10000\n */\n results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n /**\n * Value of the field\n * @maxLength 100\n */\n value?: string;\n /** Count of entities with this value */\n count?: number;\n}\n\nexport interface RangeAggregationResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in this range. */\n count?: number;\n}\n\nexport interface NestedAggregationResults\n extends NestedAggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /**\n * User-defined name of aggregation, matches the one specified in request.\n * @maxLength 100\n */\n name?: string;\n /** Type of aggregation that matches result. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `appNamespace`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n}\n\nexport interface ValueResults {\n /**\n * Array of value aggregation results, each containing a field value and the count of entities with that value.\n * @maxSize 250\n */\n results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n /**\n * Array of range aggregation results returned in the same order as requested, each containing range bounds and count of entities within that range.\n * @maxSize 50\n */\n results?: RangeAggregationResult[];\n}\n\nexport interface AggregationResultsScalarResult {\n /** Type of scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedValueAggregationResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Nested aggregations. */\n nestedResults?: NestedAggregationResults;\n}\n\nexport interface ValueResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value. */\n count?: number | null;\n}\n\nexport interface RangeResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in this range. */\n count?: number | null;\n}\n\nexport interface ScalarResult {\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedResultValue extends NestedResultValueResultOneOf {\n /** Value aggregation result. */\n value?: ValueResult;\n /** Range aggregation result. */\n range?: RangeResult;\n /** Scalar aggregation result. */\n scalar?: ScalarResult;\n /** Date histogram aggregation result. */\n dateHistogram?: ValueResult;\n}\n\n/** @oneof */\nexport interface NestedResultValueResultOneOf {\n /** Value aggregation result. */\n value?: ValueResult;\n /** Range aggregation result. */\n range?: RangeResult;\n /** Scalar aggregation result. */\n scalar?: ScalarResult;\n /** Date histogram aggregation result. */\n dateHistogram?: ValueResult;\n}\n\nexport interface Results {\n /** Map of nested aggregation results, keyed by aggregation name. */\n results?: Record<string, NestedResultValue>;\n}\n\nexport interface DateHistogramResult {\n /**\n * Date in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n * @maxLength 100\n */\n value?: string;\n /** Count of documents in the bucket. */\n count?: number;\n}\n\nexport interface GroupByValueResults {\n /**\n * Array of nested value aggregation results, each containing a field value and the associated nested aggregation data.\n * @maxSize 1000\n */\n results?: NestedValueAggregationResult[];\n}\n\nexport interface DateHistogramResults {\n /**\n * Array of date histogram aggregation results, each containing a date bucket and its count.\n * @maxSize 200\n */\n results?: DateHistogramResult[];\n}\n\n/**\n * Results of `NESTED` aggregation type in a flattened form.\n * Aggregations in resulting array are keyed by requested aggregation `name`.\n */\nexport interface NestedResults {\n /**\n * Array of nested aggregation result groups, each containing multiple aggregation results.\n * @maxSize 1000\n */\n results?: Results[];\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** Group by value aggregation results. */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n /**\n * User-defined name of aggregation as derived from search request.\n * @maxLength 100\n */\n name?: string;\n /** Type of aggregation that must match specified kind as derived from search request. */\n type?: AggregationTypeWithLiterals;\n /**\n * Path to the field to aggregate by in dot notation. For example `appNamespace`.\n * @maxLength 200\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** Group by value aggregation results. */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n}\n\nexport interface DeprecatedSearchCategoriesWithOffsetRequest {\n /** WQL query expression. */\n search?: OffsetSearch;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Whether to return categories with `visible:false`. Default: false so only visible categories will be in response. */\n returnNonVisibleCategories?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface OffsetSearch extends OffsetSearchPagingMethodOneOf {\n /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n paging?: Paging;\n /** A filter object. Learn more about [API query language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]\n * @maxSize 10\n */\n sort?: Sorting[];\n /**\n * Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition.\n * @maxSize 10\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields */\n search?: SearchDetails;\n /**\n * UTC offset or IANA time zone. Valid values are\n * ISO 8601 UTC offsets, such as +02:00 or -06:00,\n * and IANA time zone IDs, such as Europe/Rome\n *\n * Affects all filters and aggregations returned values.\n * You may override this behavior in a specific filter by providing\n * timestamps including time zone. e.g. `\"2023-12-20T10:52:34.795Z\"`\n * @maxLength 50\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface OffsetSearchPagingMethodOneOf {\n /** Pointer to page of results using offset. Can not be used together with 'cursor_paging' */\n paging?: Paging;\n}\n\nexport interface Paging {\n /**\n * Number of items to load.\n * @max 1000\n */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface DeprecatedSearchCategoriesWithOffsetResponse {\n /**\n * Categories which satisfy the provided query.\n * @maxSize 1000\n */\n categories?: Category[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadata;\n /** Aggregation data. */\n aggregationData?: AggregationData;\n}\n\nexport interface PagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. */\n total?: number | null;\n /** Flag that indicates the server failed to calculate the `total` field. */\n tooManyToCount?: boolean | null;\n}\n\nexport interface CountCategoriesRequest {\n /**\n * Filter object.\n *\n * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /** Search options. */\n search?: SearchDetails;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return categories with `visible: false` (hidden categories).\n *\n * Default: `false` - only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n}\n\nexport interface CountCategoriesResponse {\n /** Total count of categories which satisfy the given filter and/or search. */\n count?: number;\n}\n\nexport interface MoveCategoryRequest {\n /**\n * ID of the category to move.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * Where to place the subcategory.\n *\n * + `FIRST`: Position the category as the first subcategory.\n * + `LAST`: Position the category as the last subcategory.\n * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n */\n position: PositionWithLiterals;\n /**\n * Required when passing `position: AFTER`.\n * @format GUID\n */\n moveAfterCategoryId?: string | null;\n}\n\nexport enum Position {\n UNKNOWN_POSITION = 'UNKNOWN_POSITION',\n FIRST = 'FIRST',\n LAST = 'LAST',\n AFTER = 'AFTER',\n}\n\n/** @enumType */\nexport type PositionWithLiterals =\n | Position\n | 'UNKNOWN_POSITION'\n | 'FIRST'\n | 'LAST'\n | 'AFTER';\n\nexport interface MoveCategoryResponse {\n /**\n * Parent category ID.\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * List of category IDs in the new order of arrangement.\n * @format GUID\n * @maxSize 100\n */\n categoriesAfterMove?: string[];\n}\n\nexport interface BulkUpdateCategoriesRequest {\n /**\n * List of categories to update.\n * @minSize 1\n * @maxSize 100\n */\n categories: MaskedCategory[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the full category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface MaskedCategory {\n /** Category to update. */\n category?: Category;\n}\n\nexport interface BulkUpdateCategoriesResponse {\n /**\n * Categories updated by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkCategoriesResult {\n /** Bulk action metadata for category. */\n itemMetadata?: ItemMetadata;\n /**\n * Full category entity.\n *\n * Returned only if `returnEntity: true` is passed in the request.\n */\n category?: Category;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface UpdateCategoryVisibilityRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n */\n visible: boolean;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Latest revision of the category.\n * To prevent conflicting changes, the current revision must be passed on update.\n */\n revision: string | null;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateCategoryVisibilityResponse {\n /** Updated category. */\n category?: Category;\n}\n\nexport interface BulkShowCategoriesRequest {\n /**\n * IDs of the categories to update.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkShowCategoriesResponse {\n /**\n * Categories updated by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteCategoriesRequest {\n /**\n * IDs of categories to be deleted.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds?: string[];\n}\n\nexport interface BulkDeleteCategoriesResponse {\n /**\n * Categories deleted by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteCategoriesResponseBulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteCategoriesResponseBulkCategoriesResult {\n /** Information about successful action or error for failure. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkAddItemsToCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * List of items to add.\n * @minSize 1\n * @maxSize 1000\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkAddItemsToCategoryResponse {\n /**\n * List of items added to a category by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkItemsToCategoryResult {\n /** Bulk action metadata for item reference. */\n itemMetadata?: ItemReferenceMetadata;\n}\n\nexport interface ItemReferenceMetadata {\n /** Catalog and item reference info. */\n item?: ItemReference;\n /** Original index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /**\n * Whether the action was successful.\n * When `false`, the `error` field is populated.\n */\n success?: boolean;\n /** Error details in the case of an unsuccessful action. */\n error?: ApplicationError;\n}\n\nexport interface BulkAddItemToCategoriesRequest {\n /** Item to add. */\n item: ItemReference;\n /**\n * IDs of categories to which to add the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkAddItemToCategoriesResponse {\n /**\n * Items added by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemToCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkItemToCategoriesResult {\n /** Bulk action metadata for category. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkRemoveItemsFromCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /**\n * List of items to remove.\n * @minSize 1\n * @maxSize 100\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkRemoveItemsFromCategoryResponse {\n /**\n * Items removed by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkRemoveItemFromCategoriesRequest {\n /** Item to remove. */\n item: ItemReference;\n /**\n * IDs of categories from which to remove the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkRemoveItemFromCategoriesResponse {\n /**\n * Items removed by bulk action.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemToCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ListItemsInCategoryRequest\n extends ListItemsInCategoryRequestPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to use category arrangement for sorting items.\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false` (only direct items of the category will be returned)\n */\n includeItemsFromSubcategories?: boolean;\n}\n\n/** @oneof */\nexport interface ListItemsInCategoryRequestPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface ListItemsInCategoryResponse {\n /**\n * List of items in the category.\n * @maxSize 100\n */\n items?: ItemReference[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n total?: number | null;\n /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n cursors?: Cursors;\n}\n\nexport interface ListCategoriesForItemRequest {\n /** Item reference info. */\n item: ItemReference;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface ListCategoriesForItemResponse {\n /**\n * List of IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * List of IDs of categories that directly contain this item, and their parent category IDs.\n * @format GUID\n * @maxSize 1000\n */\n allCategoryIds?: string[];\n}\n\nexport interface ListCategoriesForItemsRequest {\n /**\n * List of Item reference info.\n * @maxSize 100\n */\n items: ItemReference[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface ListCategoriesForItemsResponse {\n /**\n * Map of item references to lists of direct category IDs and all category IDs, including parent categories and direct ones.\n * @maxSize 100\n */\n categoriesForItems?: MapItemToCategories[];\n}\n\nexport interface MapItemToCategories {\n /** Item reference info. */\n item?: ItemReference;\n /**\n * List of IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * List of IDs of categories that indirectly contain this item, including all ancestors of its direct categories in the hierarchy.\n * @format GUID\n * @maxSize 1000\n */\n indirectCategoryIds?: string[];\n}\n\nexport interface ListTreesRequest {}\n\nexport interface ListTreesResponse {\n /**\n * List of trees.\n * @maxSize 20\n */\n trees?: TreeReference[];\n}\n\nexport interface MoveItemInCategoryRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Item to move. */\n item?: ItemReference;\n /**\n * Where to move item.\n * `FIRST` - make `item` first item with manual arrangement. If before this operation category already has 100 manually arranged items, the 100th item will be removed from list of items with manual arrangement.\n * `LAST` - make `item` last item with manual arrangement. If before this operation category already has 100 manually arranged items, moving item will be not last but 100th.\n * `BEFORE` - requires `before_item`, `item` will be moved before it. If `before_item` was 100th item in category it will be removed from list of items with manual arrangement.\n * `NONE` - don't use manual arrangement for `item`, it will be shown after all items with manual arrangement according to default sorting.\n */\n position?: MoveItemInCategoryRequestPositionWithLiterals;\n /** Required when `position` is `BEFORE`. `before_item` must be manually arranged item. */\n beforeItem?: ItemReference;\n}\n\nexport enum MoveItemInCategoryRequestPosition {\n UNKNOWN_POSITION = 'UNKNOWN_POSITION',\n FIRST = 'FIRST',\n LAST = 'LAST',\n BEFORE = 'BEFORE',\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type MoveItemInCategoryRequestPositionWithLiterals =\n | MoveItemInCategoryRequestPosition\n | 'UNKNOWN_POSITION'\n | 'FIRST'\n | 'LAST'\n | 'BEFORE'\n | 'NONE';\n\nexport interface MoveItemInCategoryResponse {\n /**\n * Information about manually arranged items after move.\n * @maxSize 100\n */\n itemsAfterMove?: ItemReference[];\n}\n\nexport interface SetArrangedItemsRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * List of items to set.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface SetArrangedItemsResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface GetArrangedItemsRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId: string;\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface GetArrangedItemsResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface BulkSetItemCategoriesRequest {\n /** The item to update. */\n item: ItemReference;\n /**\n * List of category IDs to set for the item.\n * @format GUID\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\nexport interface BulkSetItemCategoriesResponse {\n /** Results for add operations */\n addResults?: BulkItemToCategoriesResult[];\n /** Results for remove operations */\n removeResults?: BulkItemToCategoriesResult[];\n /** Bulk action metadata */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface GetCategoriesTreeRequest {\n /** Category tree reference details. */\n treeReference?: TreeReference;\n}\n\nexport interface GetCategoriesTreeResponse {\n /** Categories tree. */\n categoriesTree?: CategoryTreeNode[];\n}\n\n/** Represents a node in the view of categories tree */\nexport interface CategoryTreeNode {\n /** Category ID. */\n _id?: Uint8Array;\n /**\n * List of subcategories.\n * @maxSize 1000\n */\n subcategories?: CategoryTreeNode[];\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 Empty {}\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/** @docsIgnore */\nexport type CreateCategoryApplicationErrors =\n | {\n code?: 'NAMESPACE_NOT_FOUND_IN_DEV_CENTER';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DUPLICATE_SLUG';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORIES_LIMIT_PER_TREE_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'PARENT_CATEGORY_NOT_IN_TREE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'TREES_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORY_DEPTH_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'PARENT_CATEGORY_HIDDEN';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCategoryApplicationErrors =\n | {\n code?: 'DUPLICATE_SLUG';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'REMOVED_SLUG';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type DeleteCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type MoveCategoryApplicationErrors =\n | {\n code?: 'PARENT_CATEGORY_NOT_IN_TREE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CATEGORY_DEPTH_LIMIT_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'TREE_CYCLE_DETECTED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'MISSING_AFTER_CATEGORY';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AFTER_CATEGORY_NOT_IN_PARENT';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type BulkUpdateCategoriesApplicationErrors = {\n code?: 'UPDATE_OF_FIELD_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateCategoryVisibilityApplicationErrors = {\n code?: 'PARENT_CATEGORY_HIDDEN';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkAddItemsToCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkAddItemToCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkRemoveItemsFromCategoryApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkRemoveItemFromCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type SetArrangedItemsApplicationErrors = {\n code?: 'ITEM_NOT_IN_CATEGORY';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkSetItemCategoriesApplicationErrors = {\n code?: 'MANAGED_CATEGORY_OPERATION_NOT_ALLOWED';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\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}\n\nexport interface EventMetadata extends BaseEventMetadata {\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\nexport interface CategoryMovedEnvelope {\n data: CategoryMoved;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a category is moved.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_category_moved\n * @slug category_moved\n */\nexport declare function onCategoryMoved(\n handler: (event: CategoryMovedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryCreatedEnvelope {\n entity: Category;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_created\n * @slug created\n */\nexport declare function onCategoryCreated(\n handler: (event: CategoryCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_deleted\n * @slug deleted\n */\nexport declare function onCategoryDeleted(\n handler: (event: CategoryDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryItemAddedToCategoryEnvelope {\n data: ItemAddedToCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an item is added to a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_item_added_to_category\n * @slug item_added_to_category\n */\nexport declare function onCategoryItemAddedToCategory(\n handler: (event: CategoryItemAddedToCategoryEnvelope) => void | Promise<void>\n): void;\n\nexport interface CategoryItemRemovedFromCategoryEnvelope {\n data: ItemRemovedFromCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an item is removed from a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_item_removed_from_category\n * @slug item_removed_from_category\n */\nexport declare function onCategoryItemRemovedFromCategory(\n handler: (\n event: CategoryItemRemovedFromCategoryEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface CategoryItemsArrangedInCategoryEnvelope {\n data: ItemsArrangedInCategory;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when items arrangement in category is changed.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_items_arranged_in_category\n * @slug items_arranged_in_category\n */\nexport declare function onCategoryItemsArrangedInCategory(\n handler: (\n event: CategoryItemsArrangedInCategoryEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface CategoryUpdatedEnvelope {\n entity: Category;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ\n * @permissionScope Read v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_READ\n * @permissionScope Manage Products\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-PRODUCTS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Read Products\n * @permissionScopeId SCOPE.DC-STORES.READ-PRODUCTS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage v3 catalog\n * @permissionScopeId SCOPE.STORES.CATALOG_WRITE\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId CATEGORIES.CATEGORY_READ\n * @webhook\n * @eventType wix.categories.v1.category_updated\n * @slug updated\n */\nexport declare function onCategoryUpdated(\n handler: (event: CategoryUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a category.\n * @param category - Category to create.\n * @public\n * @requiredField category\n * @requiredField category.name\n * @requiredField category.parentCategory._id\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_CREATE\n * @applicableIdentity APP\n * @returns Created category.\n * @fqn com.wix.categories.api.v1.CategoriesService.CreateCategory\n */\nexport async function createCategory(\n category: NonNullablePaths<Category, `name` | `parentCategory._id`, 3>,\n options?: NonNullablePaths<\n CreateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n category: category,\n treeReference: options?.treeReference,\n fields: options?.fields,\n },\n ['category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'category.image' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.createCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n category: '$[0]',\n treeReference: '$[1].treeReference',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['category', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Retrieves a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @returns Category.\n * @fqn com.wix.categories.api.v1.CategoriesService.GetCategory\n */\nexport async function getCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryOptions\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetCategoryOptions {\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param _id - Category ID.\n * @public\n * @requiredField _id\n * @requiredField category\n * @requiredField category.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @returns Updated category.\n * @fqn com.wix.categories.api.v1.CategoriesService.UpdateCategory\n */\nexport async function updateCategory(\n _id: string,\n category: NonNullablePaths<UpdateCategory, `revision`, 2>,\n options?: NonNullablePaths<\n UpdateCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n Category,\n | `itemCounter`\n | `breadcrumbsInfo.breadcrumbs`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n category: { ...category, id: _id },\n treeReference: options?.treeReference,\n fields: options?.fields,\n },\n ['category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'category.image' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.updateCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )?.category!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { category: '$[1]' },\n explicitPathsToArguments: {\n 'category.id': '$[0]',\n treeReference: '$[2].treeReference',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'category', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCategory {\n /**\n * Category ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the category is updated.\n * To prevent conflicting changes, the current revision must be passed when updating.\n *\n * Ignored when creating a category.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the category was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the category was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Category name.\n * @minLength 1\n * @maxLength 80\n */\n name?: string | null;\n /**\n * Category image.\n *\n * + Pass WixMedia image ID for media previously saved in the [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).\n * + Pass full image URL to upload to Wix Media Manager.\n */\n image?: string;\n /**\n * Number of items in this category.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Category description.\n * > **Note:** This field is returned only when you pass `fields: \"DESCRIPTION\"` in the request.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If the parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n * + Default: `false`.\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs.\n *\n * > **Note:** Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array in Categories API requests.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Parent category reference data.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @format URL_SLUG\n */\n slug?: string | null;\n /** Custom SEO data for the category. */\n seoData?: SeoSchema;\n /**\n * Category description using rich content.\n * > **Note:** Returned only when you pass `\"RICH_CONTENT_DESCRIPTION\"` to the `fields` array in Categories API requests.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"indent.emoji.divider.codeBlock.file.gallery.giphy.image.table.link.textHighlight.textColor\" exampleid=\"7dc9240e-d548-417a-abcf-0291b68b4303\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n */\n richContentDescription?: RichContent;\n /**\n * ID of the app responsible for managing the items in this category.\n *\n * Pass your app ID to restrict updating and deleting items in this category to your app only.\n * @format GUID\n * @immutable\n */\n managingAppId?: string | null;\n /**\n * Custom extended fields for the category object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n}\n\nexport interface UpdateCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Deletes a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_DELETE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.DeleteCategory\n */\nexport async function deleteCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n): Promise<\n void & {\n __applicationErrorsType?: DeleteCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { categoryId: categoryId, treeReference: treeReference },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.deleteCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { categoryId: '$[0]', treeReference: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n * @public\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.QueryCategories\n */\nexport function queryCategories(\n options: QueryCategoriesOptions\n): CategoriesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Category,\n 'CURSOR',\n QueryCategoriesRequest,\n QueryCategoriesResponse\n >({\n func: async (payload: QueryCategoriesRequest) => {\n const reqOpts = ambassadorWixCategoriesV1Category.queryCategories({\n ...payload,\n ...options,\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: QueryCategoriesRequest['query']) => {\n const args = [query, options] as [\n QueryCategoriesRequest['query'],\n QueryCategoriesOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest(\n { ...args?.[1], query: args?.[0] },\n []\n );\n },\n responseTransformer: ({ data }: HttpResponse<QueryCategoriesResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'categories.image' }],\n },\n ]),\n ['categories.richContentDescription']\n );\n\n return {\n items: transformedData?.categories,\n pagingMetadata: transformedData?.pagingMetadata,\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\nexport interface QueryCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return non-visible categories.\n *\n * Default: `false` (only visible categories are returned)\n */\n returnNonVisibleCategories?: boolean | undefined;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface CategoriesQueryResult extends QueryCursorResult {\n items: Category[];\n query: CategoriesQueryBuilder;\n next: () => Promise<CategoriesQueryResult>;\n prev: () => Promise<CategoriesQueryResult>;\n}\n\nexport interface CategoriesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'name'\n | 'description'\n | 'parentCategory.id'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: string\n ) => CategoriesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n */\n hasSome: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any[]\n ) => CategoriesQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: any\n ) => CategoriesQueryBuilder;\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'visible'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'slug'\n | 'treeReference.appNamespace'\n | 'treeReference.treeKey'\n | 'managingAppId',\n value: boolean\n ) => CategoriesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'managingAppId'\n >\n ) => CategoriesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'parentCategory.id'\n | 'parentCategory.index'\n | 'managingAppId'\n >\n ) => CategoriesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => CategoriesQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => CategoriesQueryBuilder;\n find: () => Promise<CategoriesQueryResult>;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n * @param search - Search criteria including filter, sort, aggregations, and paging options.\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n * @public\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @requiredField search\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.SearchCategories\n */\nexport async function searchCategories(\n search: CategorySearch,\n options?: NonNullablePaths<\n SearchCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n SearchCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n search: search,\n treeReference: options?.treeReference,\n returnNonVisibleCategories: options?.returnNonVisibleCategories,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.searchCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'categories.image' }],\n },\n ]),\n ['categories.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n search: '$[0]',\n treeReference: '$[1].treeReference',\n returnNonVisibleCategories: '$[1].returnNonVisibleCategories',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['search', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SearchCategoriesOptions {\n /**\n * Category tree reference details.\n * > **Note:** Pass `treeReference` only in the first request. Pass the cursor token in subsequent requests.\n */\n treeReference: TreeReference;\n /**\n * Whether to return the categories with `visible` set to `false`.\n *\n * Default: `false`. Only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n /**\n * Array of projected fields. A list of specific field names to return.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CategorySearchSpec extends SearchSpec {\n searchable: ['description', 'name'];\n aggregatable: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n paging: 'cursor';\n wql: [\n {\n operators: '*';\n fields: [\n '_id',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: [\n '_createdDate',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index'\n ];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n Category,\n CategorySearchSpec\n>;\nexport type CategorySearch = {\n /** \n Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,\n `filter`, `sort`, or `search` can't be specified. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object for narrowing search results. For example, to return only categories from the Stores app: `\"filter\": {\"appNamespace\": \"@wix/stores\"}`.\n\n Learn more about the filter format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST). \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Array of sort objects specifying result order. For example, to sort by creation date in ascending order: `\"sort\": [{\"fieldName\": \"createdDate\", \"order\": \"ASC\"}]`.\n\n Learn more about the sort format in the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST). \n @maxSize: 10 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Aggregations for grouping data into categories (facets) and providing summaries for each category.\n For example, use aggregations to categorize search results by service type, payment options, or locations. \n @maxSize: 10 \n */\n aggregations?: {\n /** \n Value aggregation configuration. \n */\n value?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['value'];\n /** \n Range aggregation configuration. \n */\n range?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['range'];\n /** \n Scalar aggregation configuration. \n */\n scalar?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['scalar'];\n /** \n Date histogram aggregation configuration. \n */\n dateHistogram?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['dateHistogram'];\n /** \n Nested aggregation configuration. \n */\n nested?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['nested'];\n /** \n User-defined name of aggregation. Must be unique and will appear in aggregation results. \n @maxLength: 100 \n */\n name?:\n | NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['name']\n | null;\n /** \n Type of aggregation. Client must specify matching aggregation field below. \n */\n type?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['type'];\n /** \n Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`. \n @maxLength: 200 \n */\n fieldPath?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['fieldPath'];\n }[];\n /** \n Free text to match in searchable fields. \n */\n search?: {\n /** \n Search mode. Defines the search logic for combining multiple terms in the `expression`. \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression. \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `parentCategory.index`. \n @maxLength: 200,\n @maxSize: 20 \n */\n fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];\n /** \n Whether to enable the search method to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n /** \n Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.\n\n Default: Time zone specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/site-properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)). \n @maxLength: 50 \n */\n timeZone?: CommonSearchWithEntityContext['timeZone'] | null;\n};\n\n/**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n * @public\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.CountCategories\n */\nexport async function countCategories(\n options?: NonNullablePaths<\n CountCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<NonNullablePaths<CountCategoriesResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n filter: options?.filter,\n search: options?.search,\n treeReference: options?.treeReference,\n returnNonVisibleCategories: options?.returnNonVisibleCategories,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.countCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0].filter',\n search: '$[0].search',\n treeReference: '$[0].treeReference',\n returnNonVisibleCategories: '$[0].returnNonVisibleCategories',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountCategoriesOptions {\n /**\n * Filter object.\n *\n * Learn more about the [filter object structure](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /** Search options. */\n search?: SearchDetails;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return categories with `visible: false` (hidden categories).\n *\n * Default: `false` - only visible categories are returned in the response\n */\n returnNonVisibleCategories?: boolean;\n}\n\n/**\n * Moves a category within its parent category, or to a different parent category.\n * @param categoryId - ID of the category to move.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField options.position\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_MOVE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.MoveCategory\n */\nexport async function moveCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: NonNullablePaths<MoveCategoryOptions, `position`, 2>\n): Promise<\n NonNullablePaths<MoveCategoryResponse, `categoriesAfterMove`, 2> & {\n __applicationErrorsType?: MoveCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n parentCategoryId: options?.parentCategoryId,\n position: options?.position,\n moveAfterCategoryId: options?.moveAfterCategoryId,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.moveCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n parentCategoryId: '$[2].parentCategoryId',\n position: '$[2].position',\n moveAfterCategoryId: '$[2].moveAfterCategoryId',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface MoveCategoryOptions {\n /**\n * Parent category ID.\n *\n * Default: root category ID\n * @format GUID\n */\n parentCategoryId?: string | null;\n /**\n * Where to place the subcategory.\n *\n * + `FIRST`: Position the category as the first subcategory.\n * + `LAST`: Position the category as the last subcategory.\n * + `AFTER`: Position the category after the category ID passed in `moveAfterCategoryId`.\n */\n position: PositionWithLiterals;\n /**\n * Required when passing `position: AFTER`.\n * @format GUID\n */\n moveAfterCategoryId?: string | null;\n}\n\n/**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param categories - List of categories to update.\n * @public\n * @requiredField categories\n * @requiredField categories.category\n * @requiredField categories.category._id\n * @requiredField categories.category.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkUpdateCategories\n */\nexport async function bulkUpdateCategories(\n categories: NonNullablePaths<\n MaskedCategory,\n `category` | `category._id` | `category.revision`,\n 3\n >[],\n options?: NonNullablePaths<\n BulkUpdateCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkUpdateCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n {\n categories: categories,\n treeReference: options?.treeReference,\n returnEntity: options?.returnEntity,\n fields: options?.fields,\n },\n ['categories.category.richContentDescription']\n ),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'categories.category.image' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkUpdateCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'results.category.image' }],\n },\n ]),\n ['results.category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categories: '$[0]',\n treeReference: '$[1].treeReference',\n returnEntity: '$[1].returnEntity',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categories', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the full category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n * @param categoryId - Category ID.\n * @public\n * @requiredField categoryId\n * @requiredField options.revision\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @requiredField options.visible\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.UpdateCategoryVisibility\n */\nexport async function updateCategoryVisibility(\n categoryId: string,\n options?: NonNullablePaths<\n UpdateCategoryVisibilityOptions,\n `revision` | `treeReference` | `treeReference.appNamespace` | `visible`,\n 3\n >\n): Promise<\n NonNullablePaths<\n UpdateCategoryVisibilityResponse,\n | `category.itemCounter`\n | `category.breadcrumbsInfo.breadcrumbs`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryId`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categoryName`\n | `category.breadcrumbsInfo.breadcrumbs.${number}.categorySlug`\n | `category.seoData.tags`\n | `category.seoData.tags.${number}.type`\n | `category.seoData.tags.${number}.children`\n | `category.seoData.tags.${number}.custom`\n | `category.seoData.tags.${number}.disabled`\n | `category.seoData.settings.preventAutoRedirect`\n | `category.seoData.settings.keywords`\n | `category.seoData.settings.keywords.${number}.term`\n | `category.seoData.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateCategoryVisibilityApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n visible: options?.visible,\n treeReference: options?.treeReference,\n revision: options?.revision,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.updateCategoryVisibility(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'category.image' }],\n },\n ]),\n ['category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n visible: '$[1].visible',\n treeReference: '$[1].treeReference',\n revision: '$[1].revision',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCategoryVisibilityOptions {\n /**\n * Whether the category is visible to site visitors in dynamic pages.\n *\n * + If a parent category's visibility is set to `false`, all the children categories' visibility will also be set to `false`.\n * + Passing `true` will fail if the visibility of any parent categories is `false`.\n */\n visible: boolean;\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Latest revision of the category.\n * To prevent conflicting changes, the current revision must be passed on update.\n */\n revision: string | null;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n * @param categoryIds - IDs of the categories to update.\n * @public\n * @requiredField categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_UPDATE\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkShowCategories\n */\nexport async function bulkShowCategories(\n categoryIds: string[],\n options?: NonNullablePaths<\n BulkShowCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkShowCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.category.itemCounter`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryIds: categoryIds,\n treeReference: options?.treeReference,\n returnEntity: options?.returnEntity,\n fields: options?.fields,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.bulkShowCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'results.category.image' }],\n },\n ]),\n ['results.category.richContentDescription']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryIds: '$[0]',\n treeReference: '$[1].treeReference',\n returnEntity: '$[1].returnEntity',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkShowCategoriesOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n /**\n * Whether to return the category entity in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Adds multiple items to a single category.\n * @param categoryId - Category ID.\n * @param items - List of items to add.\n * @public\n * @requiredField categoryId\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkAddItemsToCategory\n */\nexport async function bulkAddItemsToCategory(\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkAddItemsToCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkAddItemsToCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemsToCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n items: items,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkAddItemsToCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n items: '$[1]',\n treeReference: '$[2].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkAddItemsToCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Adds a single item to multiple categories.\n * @param item - Item to add.\n * @public\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options\n * @requiredField options.categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_ADD_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkAddItemToCategories\n */\nexport async function bulkAddItemToCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkAddItemToCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkAddItemToCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkAddItemToCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkAddItemToCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkAddItemToCategoriesOptions {\n /**\n * IDs of categories to which to add the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Removes multiple items from a single category.\n * @param categoryId - Category ID.\n * @param items - List of items to remove.\n * @public\n * @requiredField categoryId\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkRemoveItemsFromCategory\n */\nexport async function bulkRemoveItemsFromCategory(\n categoryId: string,\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n BulkRemoveItemsFromCategoryOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkRemoveItemsFromCategoryResponse,\n | `results`\n | `results.${number}.itemMetadata.item.catalogItemId`\n | `results.${number}.itemMetadata.item.appId`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemsFromCategoryApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n items: items,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkRemoveItemsFromCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n items: '$[1]',\n treeReference: '$[2].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveItemsFromCategoryOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Removes a single item from multiple categories.\n * @param item - Item to remove.\n * @public\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options\n * @requiredField options.categoryIds\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_REMOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkRemoveItemFromCategories\n */\nexport async function bulkRemoveItemFromCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options: NonNullablePaths<\n BulkRemoveItemFromCategoriesOptions,\n `categoryIds` | `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkRemoveItemFromCategoriesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkRemoveItemFromCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkRemoveItemFromCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkRemoveItemFromCategoriesOptions {\n /**\n * IDs of categories from which to remove the item.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n categoryIds: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListItemsInCategory\n */\nexport async function listItemsInCategory(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: ListItemsInCategoryOptions\n): Promise<\n NonNullablePaths<\n ListItemsInCategoryResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n useCategoryArrangement: options?.useCategoryArrangement,\n includeItemsFromSubcategories: options?.includeItemsFromSubcategories,\n cursorPaging: options?.cursorPaging,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listItemsInCategory(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n useCategoryArrangement: '$[2].useCategoryArrangement',\n includeItemsFromSubcategories: '$[2].includeItemsFromSubcategories',\n cursorPaging: '$[2].cursorPaging',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListItemsInCategoryOptions\n extends ListItemsInCategoryOptionsPagingMethodOneOf {\n /**\n * Whether to use category arrangement for sorting items.\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false` (only direct items of the category will be returned)\n */\n includeItemsFromSubcategories?: boolean;\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\n/** @oneof */\nexport interface ListItemsInCategoryOptionsPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\n/**\n * Retrieves a list of categories that contain the specified item.\n * @param item - Item reference info.\n * @public\n * @requiredField item\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem\n */\nexport async function listCategoriesForItem(\n item: ItemReference,\n options: NonNullablePaths<\n ListCategoriesForItemOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n ListCategoriesForItemResponse,\n `directCategoryIds` | `allCategoryIds`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { item: item, treeReference: options?.treeReference },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listCategoriesForItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListCategoriesForItemOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item.\n * @param items - List of Item reference info.\n * @public\n * @requiredField items\n * @requiredField items.appId\n * @requiredField items.catalogItemId\n * @requiredField options\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems\n */\nexport async function listCategoriesForItems(\n items: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>[],\n options: NonNullablePaths<\n ListCategoriesForItemsOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n ListCategoriesForItemsResponse,\n | `categoriesForItems`\n | `categoriesForItems.${number}.item.catalogItemId`\n | `categoriesForItems.${number}.item.appId`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { items: items, treeReference: options?.treeReference },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.listCategoriesForItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n items: '$[0]',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListCategoriesForItemsOptions {\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n\n/**\n * Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order.\n * @public\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.ListTrees\n */\nexport async function listTrees(): Promise<\n NonNullablePaths<\n ListTreesResponse,\n `trees` | `trees.${number}.appNamespace`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({}, []);\n\n const reqOpts = ambassadorWixCategoriesV1Category.listTrees(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_MOVE_ITEM\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.SetArrangedItems\n */\nexport async function setArrangedItems(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: SetArrangedItemsOptions\n): Promise<\n NonNullablePaths<\n SetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n > & {\n __applicationErrorsType?: SetArrangedItemsApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n categoryId: categoryId,\n treeReference: treeReference,\n items: options?.items,\n },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.setArrangedItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n categoryId: '$[0]',\n treeReference: '$[1]',\n items: '$[2].items',\n },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SetArrangedItemsOptions {\n /**\n * List of items to set.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Retrieves a list of arranged items in a category.\n * @param categoryId - Category ID.\n * @param treeReference - Category tree reference details.\n * @public\n * @requiredField categoryId\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.GetArrangedItems\n */\nexport async function getArrangedItems(\n categoryId: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>\n): Promise<\n NonNullablePaths<\n GetArrangedItemsResponse,\n `items` | `items.${number}.catalogItemId` | `items.${number}.appId`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { categoryId: categoryId, treeReference: treeReference },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getArrangedItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { categoryId: '$[0]', treeReference: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['categoryId', 'treeReference']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n * @param item - The item to update.\n * @internal\n * @documentationMaturity preview\n * @requiredField item\n * @requiredField item.appId\n * @requiredField item.catalogItemId\n * @requiredField options.treeReference\n * @requiredField options.treeReference.appNamespace\n * @permissionId CATEGORIES.ITEM_SET_CATEGORIES\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.BulkSetItemCategories\n */\nexport async function bulkSetItemCategories(\n item: NonNullablePaths<ItemReference, `appId` | `catalogItemId`, 2>,\n options?: NonNullablePaths<\n BulkSetItemCategoriesOptions,\n `treeReference` | `treeReference.appNamespace`,\n 3\n >\n): Promise<\n NonNullablePaths<\n BulkSetItemCategoriesResponse,\n | `addResults`\n | `addResults.${number}.itemMetadata.originalIndex`\n | `addResults.${number}.itemMetadata.success`\n | `addResults.${number}.itemMetadata.error.code`\n | `addResults.${number}.itemMetadata.error.description`\n | `removeResults`\n | `removeResults.${number}.itemMetadata.originalIndex`\n | `removeResults.${number}.itemMetadata.success`\n | `removeResults.${number}.itemMetadata.error.code`\n | `removeResults.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetItemCategoriesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n item: item,\n categoryIds: options?.categoryIds,\n treeReference: options?.treeReference,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixCategoriesV1Category.bulkSetItemCategories(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n item: '$[0]',\n categoryIds: '$[1].categoryIds',\n treeReference: '$[1].treeReference',\n },\n singleArgumentUnchanged: false,\n },\n ['item', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkSetItemCategoriesOptions {\n /**\n * List of category IDs to set for the item.\n * @format GUID\n * @maxSize 1000\n */\n categoryIds?: string[];\n /** Category tree reference details. */\n treeReference: TreeReference;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\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 resolveComWixCategoriesApiV1CategoriesServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/categories',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/categories/v1/bulk/categories',\n destPath: '/v1/bulk/categories',\n },\n {\n srcPath: '/categories/v1/categories',\n destPath: '/v1/categories',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/categories',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/categories-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/categories/v1/bulk/categories',\n destPath: '/v1/bulk/categories',\n },\n {\n srcPath: '/categories/v1/categories',\n destPath: '/v1/categories',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_categories_categories';\n\n/** Creates a category. */\nexport function createCategory(payload: object): RequestOptionsFactory<any> {\n function __createCategory({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n { path: 'category.richContentDescription.metadata.createdTimestamp' },\n { path: 'category.richContentDescription.metadata.updatedTimestamp' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.CreateCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCategory;\n}\n\n/** Retrieves a category. */\nexport function getCategory(payload: object): RequestOptionsFactory<any> {\n function __getCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.GetCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategory;\n}\n\n/**\n * Updates a category.\n *\n * Each time the category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function updateCategory(payload: object): RequestOptionsFactory<any> {\n function __updateCategory({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n { path: 'category.richContentDescription.metadata.createdTimestamp' },\n { path: 'category.richContentDescription.metadata.updatedTimestamp' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'PATCH' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.UpdateCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{category.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategory;\n}\n\n/** Deletes a category. */\nexport function deleteCategory(payload: object): RequestOptionsFactory<any> {\n function __deleteCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'DELETE' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.DeleteCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCategory;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories, given the provided filtering, sorting, and cursor paging.\n * Pass supported values to the `fields` array in the request to include those fields in the response.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging).\n */\nexport function queryCategories(payload: object): RequestOptionsFactory<any> {\n function __queryCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.QueryCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'categories.createdDate' },\n { path: 'categories.updatedDate' },\n { path: 'categories.image.urlExpirationDate' },\n {\n path: 'categories.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryCategories;\n}\n\n/**\n * Retrieves a list of up to 1,000 categories with the specified filtering, sorting, and cursor paging.\n * Specify supported values in `fields` to include those fields in the response.\n *\n * ## Defaults\n *\n * Search Categories has the following default settings, which you can override:\n * + Sorted by `createdDate` in descending order.\n * + `cursorPaging.limit` set to `100`.\n *\n * ## Filters\n *\n * When using filters for dates, you must use\n * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Refer to the [supported filters & sorting table](https://dev.wix.com/docs/sdk/backend-modules/categories/categories/search-categories) (SDK)\n * or the [supported filters article](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting) (REST)\n * for a complete list of supported filters and sorting options.\n *\n * ## See also\n *\n * To learn about working with *Search* methods, see\n * _API Query Language_\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language) | [REST](https://dev.wix.com/docs/rest/articles/get-started/api-query-language))\n * and *Sorting and Paging*\n * ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#the-sort-array) | [REST](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging)).\n */\nexport function searchCategories(payload: object): RequestOptionsFactory<any> {\n function __searchCategories({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'search.aggregations.range.buckets.from' },\n { path: 'search.aggregations.range.buckets.to' },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.SearchCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'categories.createdDate' },\n { path: 'categories.updatedDate' },\n { path: 'categories.image.urlExpirationDate' },\n {\n path: 'categories.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.audioData.coverImage.duration',\n },\n { path: 'aggregationData.results.ranges.results.from' },\n { path: 'aggregationData.results.ranges.results.to' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.from',\n },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.to',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.from',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.to',\n },\n { path: 'aggregationData.results.scalar.value' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.scalar.value',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __searchCategories;\n}\n\n/**\n * Counts the number of categories that match the provided filtering.\n *\n * For field support for filters and sorting,\n * see [Categories: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-management/categories/supported-filters-and-sorting).\n */\nexport function countCategories(payload: object): RequestOptionsFactory<any> {\n function __countCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.CountCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countCategories;\n}\n\n/** Moves a category within its parent category, or to a different parent category. */\nexport function moveCategory(payload: object): RequestOptionsFactory<any> {\n function __moveCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.MoveCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/move',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __moveCategory;\n}\n\n/**\n * Updates multiple categories.\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function bulkUpdateCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateCategories({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'categories.fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'categories.category.createdDate' },\n { path: 'categories.category.updatedDate' },\n { path: 'categories.category.image.urlExpirationDate' },\n {\n path: 'categories.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'categories.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'categories.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkUpdateCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/update',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.category.createdDate' },\n { path: 'results.category.updatedDate' },\n { path: 'results.category.image.urlExpirationDate' },\n {\n path: 'results.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'results.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkUpdateCategories;\n}\n\n/**\n * Updates category visibility.\n *\n *\n * Each time a category is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating a category.\n * This ensures you're working with the latest category and prevents unintended overwrites.\n */\nexport function updateCategoryVisibility(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateCategoryVisibility({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.UpdateCategoryVisibility',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/visibility',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'category.createdDate' },\n { path: 'category.updatedDate' },\n { path: 'category.image.urlExpirationDate' },\n {\n path: 'category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategoryVisibility;\n}\n\n/**\n * Updates the visibility of multiple categories so that they are visible to site visitors in dynamic pages.\n *\n * Calling this method sets each category's `visible` field to `true`.\n * > **Note:** If one of the passed categories has a parent category that is not visible, the passed category will not be updated.\n */\nexport function bulkShowCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkShowCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkShowCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/show',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.category.createdDate' },\n { path: 'results.category.updatedDate' },\n { path: 'results.category.image.urlExpirationDate' },\n {\n path: 'results.category.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'results.category.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'results.category.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.audioData.coverImage.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkShowCategories;\n}\n\n/** Adds multiple items to a single category. */\nexport function bulkAddItemsToCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkAddItemsToCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkAddItemsToCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/{categoryId}/add-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkAddItemsToCategory;\n}\n\n/** Adds a single item to multiple categories. */\nexport function bulkAddItemToCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkAddItemToCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkAddItemToCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/add-item',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkAddItemToCategories;\n}\n\n/** Removes multiple items from a single category. */\nexport function bulkRemoveItemsFromCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveItemsFromCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkRemoveItemsFromCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/{categoryId}/remove-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveItemsFromCategory;\n}\n\n/** Removes a single item from multiple categories. */\nexport function bulkRemoveItemFromCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkRemoveItemFromCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkRemoveItemFromCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/remove-item',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkRemoveItemFromCategories;\n}\n\n/**\n * Retrieves a list of up to 100 items from a single category, given the provided cursor paging.\n *\n *\n * List Items In Categories defaults to sorting by the time the item was added to the category, in descending order.\n */\nexport function listItemsInCategory(\n payload: object\n): RequestOptionsFactory<any> {\n function __listItemsInCategory({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListItemsInCategory',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listItemsInCategory;\n}\n\n/** Retrieves a list of categories that contain the specified item. */\nexport function listCategoriesForItem(\n payload: object\n): RequestOptionsFactory<any> {\n function __listCategoriesForItem({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listCategoriesForItem;\n}\n\n/** Retrieves a map where the keys are ItemReferences, and the values are lists of categories that contain the corresponding item. */\nexport function listCategoriesForItems(\n payload: object\n): RequestOptionsFactory<any> {\n function __listCategoriesForItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n data: payload,\n\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __listCategoriesForItems;\n}\n\n/** Retrieves a list of all trees installed on the site, sorted by `appNamespace` in ascending order. */\nexport function listTrees(payload: object): RequestOptionsFactory<any> {\n function __listTrees({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.ListTrees',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-trees',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __listTrees;\n}\n\n/**\n * Sets arranged items in a category.\n *\n * The order of items in the `items` array determines the order of items in the category.\n * The category's existing list of arranged items will be overridden.\n */\nexport function setArrangedItems(payload: object): RequestOptionsFactory<any> {\n function __setArrangedItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.SetArrangedItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/set-arranged-items',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __setArrangedItems;\n}\n\n/** Retrieves a list of arranged items in a category. */\nexport function getArrangedItems(payload: object): RequestOptionsFactory<any> {\n function __getArrangedItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn: 'com.wix.categories.api.v1.CategoriesService.GetArrangedItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/arranged-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getArrangedItems;\n}\n\n/**\n * Sets categories of an item by providing a sequence of category IDs.\n * The item's categories will be completely overridden with the provided list.\n */\nexport function bulkSetItemCategories(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkSetItemCategories({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.BulkSetItemCategories',\n packageName: PACKAGE_NAME,\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/bulk/categories/set-item-categories',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkSetItemCategories;\n}\n","import {\n createCategory as publicCreateCategory,\n getCategory as publicGetCategory,\n updateCategory as publicUpdateCategory,\n deleteCategory as publicDeleteCategory,\n queryCategories as publicQueryCategories,\n searchCategories as publicSearchCategories,\n countCategories as publicCountCategories,\n moveCategory as publicMoveCategory,\n bulkUpdateCategories as publicBulkUpdateCategories,\n updateCategoryVisibility as publicUpdateCategoryVisibility,\n bulkShowCategories as publicBulkShowCategories,\n bulkAddItemsToCategory as publicBulkAddItemsToCategory,\n bulkAddItemToCategories as publicBulkAddItemToCategories,\n bulkRemoveItemsFromCategory as publicBulkRemoveItemsFromCategory,\n bulkRemoveItemFromCategories as publicBulkRemoveItemFromCategories,\n listItemsInCategory as publicListItemsInCategory,\n listCategoriesForItem as publicListCategoriesForItem,\n listCategoriesForItems as publicListCategoriesForItems,\n listTrees as publicListTrees,\n setArrangedItems as publicSetArrangedItems,\n getArrangedItems as publicGetArrangedItems,\n bulkSetItemCategories as publicBulkSetItemCategories,\n} from './categories-v1-category-categories.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onCategoryMoved as publicOnCategoryMoved } from './categories-v1-category-categories.public.js';\nimport { onCategoryCreated as publicOnCategoryCreated } from './categories-v1-category-categories.public.js';\nimport { onCategoryDeleted as publicOnCategoryDeleted } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemAddedToCategory as publicOnCategoryItemAddedToCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemRemovedFromCategory as publicOnCategoryItemRemovedFromCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryItemsArrangedInCategory as publicOnCategoryItemsArrangedInCategory } from './categories-v1-category-categories.public.js';\nimport { onCategoryUpdated as publicOnCategoryUpdated } from './categories-v1-category-categories.public.js';\n\nexport const createCategory: MaybeContext<\n BuildRESTFunction<typeof publicCreateCategory> & typeof publicCreateCategory\n> = /*#__PURE__*/ createRESTModule(publicCreateCategory);\nexport const getCategory: MaybeContext<\n BuildRESTFunction<typeof publicGetCategory> & typeof publicGetCategory\n> = /*#__PURE__*/ createRESTModule(publicGetCategory);\nexport const updateCategory: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCategory> & typeof publicUpdateCategory\n> = /*#__PURE__*/ createRESTModule(publicUpdateCategory);\nexport const deleteCategory: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCategory> & typeof publicDeleteCategory\n> = /*#__PURE__*/ createRESTModule(publicDeleteCategory);\nexport const queryCategories: MaybeContext<\n BuildRESTFunction<typeof publicQueryCategories> & typeof publicQueryCategories\n> = /*#__PURE__*/ createRESTModule(publicQueryCategories);\nexport const searchCategories: MaybeContext<\n BuildRESTFunction<typeof publicSearchCategories> &\n typeof publicSearchCategories\n> = /*#__PURE__*/ createRESTModule(publicSearchCategories);\nexport const countCategories: MaybeContext<\n BuildRESTFunction<typeof publicCountCategories> & typeof publicCountCategories\n> = /*#__PURE__*/ createRESTModule(publicCountCategories);\nexport const moveCategory: MaybeContext<\n BuildRESTFunction<typeof publicMoveCategory> & typeof publicMoveCategory\n> = /*#__PURE__*/ createRESTModule(publicMoveCategory);\nexport const bulkUpdateCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateCategories> &\n typeof publicBulkUpdateCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateCategories);\nexport const updateCategoryVisibility: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCategoryVisibility> &\n typeof publicUpdateCategoryVisibility\n> = /*#__PURE__*/ createRESTModule(publicUpdateCategoryVisibility);\nexport const bulkShowCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkShowCategories> &\n typeof publicBulkShowCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkShowCategories);\nexport const bulkAddItemsToCategory: MaybeContext<\n BuildRESTFunction<typeof publicBulkAddItemsToCategory> &\n typeof publicBulkAddItemsToCategory\n> = /*#__PURE__*/ createRESTModule(publicBulkAddItemsToCategory);\nexport const bulkAddItemToCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkAddItemToCategories> &\n typeof publicBulkAddItemToCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkAddItemToCategories);\nexport const bulkRemoveItemsFromCategory: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveItemsFromCategory> &\n typeof publicBulkRemoveItemsFromCategory\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveItemsFromCategory);\nexport const bulkRemoveItemFromCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkRemoveItemFromCategories> &\n typeof publicBulkRemoveItemFromCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkRemoveItemFromCategories);\nexport const listItemsInCategory: MaybeContext<\n BuildRESTFunction<typeof publicListItemsInCategory> &\n typeof publicListItemsInCategory\n> = /*#__PURE__*/ createRESTModule(publicListItemsInCategory);\nexport const listCategoriesForItem: MaybeContext<\n BuildRESTFunction<typeof publicListCategoriesForItem> &\n typeof publicListCategoriesForItem\n> = /*#__PURE__*/ createRESTModule(publicListCategoriesForItem);\nexport const listCategoriesForItems: MaybeContext<\n BuildRESTFunction<typeof publicListCategoriesForItems> &\n typeof publicListCategoriesForItems\n> = /*#__PURE__*/ createRESTModule(publicListCategoriesForItems);\nexport const listTrees: MaybeContext<\n BuildRESTFunction<typeof publicListTrees> & typeof publicListTrees\n> = /*#__PURE__*/ createRESTModule(publicListTrees);\nexport const setArrangedItems: MaybeContext<\n BuildRESTFunction<typeof publicSetArrangedItems> &\n typeof publicSetArrangedItems\n> = /*#__PURE__*/ createRESTModule(publicSetArrangedItems);\nexport const getArrangedItems: MaybeContext<\n BuildRESTFunction<typeof publicGetArrangedItems> &\n typeof publicGetArrangedItems\n> = /*#__PURE__*/ createRESTModule(publicGetArrangedItems);\n/** @internal */\nexport const bulkSetItemCategories: MaybeContext<\n BuildRESTFunction<typeof publicBulkSetItemCategories> &\n typeof publicBulkSetItemCategories\n> = /*#__PURE__*/ createRESTModule(publicBulkSetItemCategories);\n/**\n * Triggered when a category is moved.\n */\nexport const onCategoryMoved: BuildEventDefinition<\n typeof publicOnCategoryMoved\n> = createEventModule(publicOnCategoryMoved);\n/** */\nexport const onCategoryCreated: BuildEventDefinition<\n typeof publicOnCategoryCreated\n> = createEventModule(publicOnCategoryCreated);\n/** */\nexport const onCategoryDeleted: BuildEventDefinition<\n typeof publicOnCategoryDeleted\n> = createEventModule(publicOnCategoryDeleted);\n/**\n * Triggered when an item is added to a category.\n */\nexport const onCategoryItemAddedToCategory: BuildEventDefinition<\n typeof publicOnCategoryItemAddedToCategory\n> = createEventModule(publicOnCategoryItemAddedToCategory);\n/**\n * Triggered when an item is removed from a category.\n */\nexport const onCategoryItemRemovedFromCategory: BuildEventDefinition<\n typeof publicOnCategoryItemRemovedFromCategory\n> = createEventModule(publicOnCategoryItemRemovedFromCategory);\n/**\n * Triggered when items arrangement in category is changed.\n */\nexport const onCategoryItemsArrangedInCategory: BuildEventDefinition<\n typeof publicOnCategoryItemsArrangedInCategory\n> = createEventModule(publicOnCategoryItemsArrangedInCategory);\n/** */\nexport const onCategoryUpdated: BuildEventDefinition<\n typeof publicOnCategoryUpdated\n> = createEventModule(publicOnCategoryUpdated);\n\nexport {\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n ImageStylesPosition,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n SingleEntityOpsRequestedFields,\n SortOrder,\n RequestedFields,\n SortType,\n SortDirection,\n MissingValues,\n ScalarType,\n NestedAggregationType,\n Interval,\n AggregationType,\n Mode,\n Position,\n MoveItemInCategoryRequestPosition,\n WebhookIdentityType,\n} from './categories-v1-category-categories.universal.js';\nexport {\n Category,\n BreadcrumbsInfo,\n Breadcrumb,\n ParentCategory,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutCellData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n TreeReference,\n ExtendedFields,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n App,\n Page,\n URI,\n File,\n CustomTag,\n CategoryMoved,\n ItemAddedToCategory,\n ItemReference,\n ItemsAddedToCategory,\n ItemRemovedFromCategory,\n ItemsRemovedFromCategory,\n ItemsArrangedInCategory,\n CreateCategoryRequest,\n CreateCategoryResponse,\n GetCategoryRequest,\n GetCategoryResponse,\n UpdateCategoryRequest,\n UpdateCategoryResponse,\n DeleteCategoryRequest,\n DeleteCategoryResponse,\n QueryCategoriesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryCategoriesResponse,\n CursorPagingMetadata,\n Cursors,\n ListCompactCategoriesByIdsRequest,\n ListCompactCategoriesByIdsResponse,\n CompactCategory,\n SearchCategoriesRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Aggregation,\n AggregationKindOneOf,\n RangeBucket,\n IncludeMissingValuesOptions,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n RangeAggregation,\n ScalarAggregation,\n DateHistogramAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregation,\n SearchDetails,\n SearchCategoriesResponse,\n AggregationData,\n ValueAggregationResult,\n RangeAggregationResult,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n ValueResults,\n RangeResults,\n AggregationResultsScalarResult,\n NestedValueAggregationResult,\n ValueResult,\n RangeResult,\n ScalarResult,\n NestedResultValue,\n NestedResultValueResultOneOf,\n Results,\n DateHistogramResult,\n GroupByValueResults,\n DateHistogramResults,\n NestedResults,\n AggregationResults,\n AggregationResultsResultOneOf,\n DeprecatedSearchCategoriesWithOffsetRequest,\n OffsetSearch,\n OffsetSearchPagingMethodOneOf,\n Paging,\n DeprecatedSearchCategoriesWithOffsetResponse,\n PagingMetadata,\n CountCategoriesRequest,\n CountCategoriesResponse,\n MoveCategoryRequest,\n MoveCategoryResponse,\n BulkUpdateCategoriesRequest,\n MaskedCategory,\n BulkUpdateCategoriesResponse,\n BulkCategoriesResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n UpdateCategoryVisibilityRequest,\n UpdateCategoryVisibilityResponse,\n BulkShowCategoriesRequest,\n BulkShowCategoriesResponse,\n BulkDeleteCategoriesRequest,\n BulkDeleteCategoriesResponse,\n BulkDeleteCategoriesResponseBulkCategoriesResult,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkItemsToCategoryResult,\n ItemReferenceMetadata,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkItemToCategoriesResult,\n BulkRemoveItemsFromCategoryRequest,\n BulkRemoveItemsFromCategoryResponse,\n BulkRemoveItemFromCategoriesRequest,\n BulkRemoveItemFromCategoriesResponse,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n PagingMetadataV2,\n ListCategoriesForItemRequest,\n ListCategoriesForItemResponse,\n ListCategoriesForItemsRequest,\n ListCategoriesForItemsResponse,\n MapItemToCategories,\n ListTreesRequest,\n ListTreesResponse,\n MoveItemInCategoryRequest,\n MoveItemInCategoryResponse,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n GetArrangedItemsRequest,\n GetArrangedItemsResponse,\n BulkSetItemCategoriesRequest,\n BulkSetItemCategoriesResponse,\n GetCategoriesTreeRequest,\n GetCategoriesTreeResponse,\n CategoryTreeNode,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n CategoryMovedEnvelope,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryUpdatedEnvelope,\n CreateCategoryOptions,\n GetCategoryOptions,\n UpdateCategory,\n UpdateCategoryOptions,\n QueryCategoriesOptions,\n CategoriesQueryResult,\n CategoriesQueryBuilder,\n SearchCategoriesOptions,\n CategorySearchSpec,\n CountCategoriesOptions,\n MoveCategoryOptions,\n BulkUpdateCategoriesOptions,\n UpdateCategoryVisibilityOptions,\n BulkShowCategoriesOptions,\n BulkAddItemsToCategoryOptions,\n BulkAddItemToCategoriesOptions,\n BulkRemoveItemsFromCategoryOptions,\n BulkRemoveItemFromCategoriesOptions,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListCategoriesForItemOptions,\n ListCategoriesForItemsOptions,\n SetArrangedItemsOptions,\n BulkSetItemCategoriesOptions,\n} from './categories-v1-category-categories.universal.js';\nexport {\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n ImageStylesPositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n SingleEntityOpsRequestedFieldsWithLiterals,\n SortOrderWithLiterals,\n RequestedFieldsWithLiterals,\n SortTypeWithLiterals,\n SortDirectionWithLiterals,\n MissingValuesWithLiterals,\n ScalarTypeWithLiterals,\n NestedAggregationTypeWithLiterals,\n IntervalWithLiterals,\n AggregationTypeWithLiterals,\n ModeWithLiterals,\n PositionWithLiterals,\n MoveItemInCategoryRequestPositionWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCategoryApplicationErrors,\n UpdateCategoryApplicationErrors,\n DeleteCategoryApplicationErrors,\n MoveCategoryApplicationErrors,\n BulkUpdateCategoriesApplicationErrors,\n UpdateCategoryVisibilityApplicationErrors,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemToCategoriesApplicationErrors,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemFromCategoriesApplicationErrors,\n SetArrangedItemsApplicationErrors,\n BulkSetItemCategoriesApplicationErrors,\n CommonSearchWithEntityContext,\n CategorySearch,\n} from './categories-v1-category-categories.universal.js';\n"],"mappings":"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","names":["bulkAddItemToCategories","bulkAddItemsToCategory","bulkRemoveItemFromCategories","bulkRemoveItemsFromCategory","bulkSetItemCategories","bulkShowCategories","bulkUpdateCategories","countCategories","createCategory","deleteCategory","getArrangedItems","getCategory","listCategoriesForItem","listCategoriesForItems","listItemsInCategory","listTrees","moveCategory","onCategoryCreated","onCategoryDeleted","onCategoryItemAddedToCategory","onCategoryItemRemovedFromCategory","onCategoryItemsArrangedInCategory","onCategoryMoved","onCategoryUpdated","queryCategories","searchCategories","setArrangedItems","updateCategory","updateCategoryVisibility","import_rename_all_nested_keys","import_float","import_image","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_image","import_transform_paths","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","ImageStylesPosition","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","SingleEntityOpsRequestedFields","SortOrder","RequestedFields","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","Mode","Position","MoveItemInCategoryRequestPosition","WebhookIdentityType","createCategory","sdkTransformError","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","createCategory","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","import_rest_modules","createCategory","getCategory","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","onCategoryMoved","onCategoryCreated","onCategoryDeleted","onCategoryItemAddedToCategory","onCategoryItemRemovedFromCategory","onCategoryItemsArrangedInCategory","onCategoryUpdated"]}
|