@wix/auto_sdk_categories_categories 1.0.131 → 1.0.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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 BulkUpdateCategoriesValidationErrors,\n CategoriesQueryBuilder,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMovedEnvelope,\n CategoryQuery,\n CategorySearch,\n CategoryUpdatedEnvelope,\n CountCategoriesOptions,\n CountCategoriesResponse,\n CreateCategoryApplicationErrors,\n CreateCategoryOptions,\n CreateCategoryValidationErrors,\n DeleteCategoryApplicationErrors,\n GetArrangedItemsResponse,\n GetCategoryBySlugOptions,\n GetCategoryBySlugResponse,\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 QueryCategoriesResponse,\n SearchCategoriesOptions,\n SearchCategoriesResponse,\n SetArrangedItemsApplicationErrors,\n SetArrangedItemsOptions,\n SetArrangedItemsResponse,\n TreeReference,\n UpdateCategory,\n UpdateCategoryApplicationErrors,\n UpdateCategoryOptions,\n UpdateCategoryValidationErrors,\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 getCategoryBySlug as universalGetCategoryBySlug,\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 typedQueryCategories as universalTypedQueryCategories,\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n __validationErrorsType?: CreateCategoryValidationErrors;\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 | `treeReference.appNamespace`,\n 6\n >\n >;\n}\n\nexport function getCategoryBySlug(\n httpClient: HttpClient\n): GetCategoryBySlugSignature {\n return (\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n ) =>\n universalGetCategoryBySlug(\n slug,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCategoryBySlugSignature {\n /**\n * Retrieves a category by its slug.\n * @param - Category slug.\n * @param - Category tree reference details.\n */\n (\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n ): Promise<\n NonNullablePaths<\n GetCategoryBySlugResponse,\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 | `category.treeReference.appNamespace`,\n 7\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n __validationErrorsType?: UpdateCategoryValidationErrors;\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 *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n */\n (options: QueryCategoriesOptions): CategoriesQueryBuilder;\n}\n\nexport function typedQueryCategories(\n httpClient: HttpClient\n): TypedQueryCategoriesSignature {\n return (query: CategoryQuery, options: QueryCategoriesOptions) =>\n universalTypedQueryCategories(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryCategoriesSignature {\n /** */\n (query: CategoryQuery, options: QueryCategoriesOptions): Promise<\n NonNullablePaths<\n QueryCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `categories.${number}.treeReference.appNamespace`,\n 6\n >\n >;\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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n * @param - Search criteria including filter, sort, aggregations, and paging 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 | `categories.${number}.treeReference.appNamespace`\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 (\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 | `results.${number}.category.treeReference.appNamespace`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n __validationErrorsType?: BulkUpdateCategoriesValidationErrors;\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 * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 | `category.treeReference.appNamespace`,\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 * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 | `results.${number}.category.treeReference.appNamespace`\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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 the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each 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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'entity.richContentDescription.nodes.imageData.crop.x' },\n { path: 'entity.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.height',\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 path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'entity.richContentDescription.nodes.tocData.fontSize' },\n { path: 'entity.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'entity.richContentDescription.nodes.smartBlockCellData.shape.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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'undefined.richContentDescription.nodes.imageData.crop.x' },\n { path: 'undefined.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'undefined.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'undefined.richContentDescription.nodes.imageData.crop.height',\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 path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'undefined.richContentDescription.nodes.tocData.fontSize' },\n {\n path: 'undefined.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'undefined.richContentDescription.nodes.smartBlockCellData.shape.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 { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'modifiedFields.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }, { path: 'modifiedFields.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'entity.richContentDescription.nodes.imageData.crop.x' },\n { path: 'entity.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.height',\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 path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'entity.richContentDescription.nodes.tocData.fontSize' },\n { path: 'entity.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'entity.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.x',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.height',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.audioData.coverImage.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ])\n )\n)<CategoryUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n Animation,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Backdrop,\n BackdropType,\n Background,\n BackgroundGradient,\n BackgroundImage,\n BackgroundType,\n Banner,\n BannerPosition,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n Breadcrumb,\n BreadcrumbsInfo,\n BulkActionMetadata,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryForMigrationRequest,\n BulkAddItemsToCategoryForMigrationResponse,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkCategoriesResult,\n BulkCreateCategoriesForMigrationRequest,\n BulkCreateCategoriesForMigrationResponse,\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 CardData,\n CardDataBackground,\n CardDataBackgroundType,\n CardStyles,\n CardStylesType,\n CatalogRollbackRequested,\n CategoriesQueryBuilder,\n CategoriesQueryResult,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMoved,\n CategoryMovedEnvelope,\n CategoryQuerySpec,\n CategorySearchSpec,\n CategoryTreeNode,\n CategoryUpdatedEnvelope,\n CellStyle,\n CheckboxListData,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ColumnSize,\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 DesignTarget,\n Dimensions,\n Direction,\n DividerData,\n DividerDataAlignment,\n DividerDataStyles,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n DuplicateHandleErrorData,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EntranceAnimation,\n EntranceEffect,\n EntranceEffectType,\n EventData,\n EventMetadata,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontFamilyData,\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 GetCategoryBySlugOptions,\n GetCategoryBySlugRequest,\n GetCategoryBySlugResponse,\n GetCategoryOptions,\n GetCategoryRequest,\n GetCategoryResponse,\n Gradient,\n GradientType,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataCrop,\n ImageDataStyles,\n ImagePosition,\n ImagePositionPosition,\n ImageScalingScaling,\n ImageStyles,\n ImageStylesPosition,\n IncludeMissingValuesOptions,\n Indentation,\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 LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n LayoutDataBackgroundType,\n LayoutType,\n LineCap,\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 ListItemNodeData,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n ListStyle,\n ListTreesRequest,\n ListTreesResponse,\n ListValue,\n LoopAnimation,\n LoopEffect,\n LoopEffectType,\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 Origin,\n PDFSettings,\n Page,\n Pages,\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 PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesignBackgroundType,\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 ResponsivenessBehaviour,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n Scaling,\n SearchCategoriesOptions,\n SearchCategoriesRequest,\n SearchCategoriesResponse,\n SearchDetails,\n SeoSchema,\n SetArrangedItemsForMigrationRequest,\n SetArrangedItemsForMigrationResponse,\n SetArrangedItemsOptions,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n Settings,\n ShapeData,\n ShapeDataStyles,\n SingleEntityOpsRequestedFields,\n SketchData,\n SmartBlockCellData,\n SmartBlockData,\n SmartBlockDataType,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n Spoiler,\n SpoilerData,\n Stop,\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 TocData,\n TreeReference,\n Type,\n URI,\n URIs,\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 Variant,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n utils,\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 QuerySpec,\n Query as QuerySdkType,\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';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\nimport { createSearchUtils } from '@wix/sdk-runtime/search-builder-utils';\n\n/**\n * A category for organizing items into a hierarchical structure.\n *\n * Categories can be nested to create a multi-level hierarchy. Each category belongs to a specific category tree, identified by its `treeReference`. Each Wix Stores site has one category tree.\n *\n * > **Note:** Currently, only Wix Stores Catalog (V3) categories are supported. Pass `appNamespace: \"@wix/stores\"` in the `treeReference` for all API calls.\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 directly assigned to this category. Doesn't include items in subcategories.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Plain-text category description.\n *\n * Returned only when you pass `\"DESCRIPTION\"` to the `fields` array.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors.\n *\n * Visibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\n * Setting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n *\n * > **Notes:**\n * > 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n * > 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n * > 3. Default: `true`\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n *\n * Breadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n *\n * Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Information about the category's parent. Top-level categories don't have a parent.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug. A URL-friendly identifier used in the category page address.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @minLength 1\n * @maxLength 300\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 * Reference to the category tree this category belongs to.\n *\n * When working with Wix Stores categories, always pass `appNamespace: \"@wix/stores\"` and `treeKey: null`.\n * @readonly\n */\n treeReference?: TreeReference;\n /**\n * ID of the app responsible for managing items in this category.\n *\n * When set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n *\n * You can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/).\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/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) 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 ancestor categories from the top-level category down to the parent of the current category. 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 * Ancestor category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * Ancestor category name.\n * @minLength 1\n * @maxLength 80\n */\n categoryName?: string;\n /**\n * Ancestor category slug.\n * @minLength 1\n * @maxLength 100\n */\n categorySlug?: string;\n}\n\nexport interface ParentCategory {\n /**\n * ID of the parent category.\n *\n * Leave empty or omit to create a top-level category.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Position of this category among its sibling categories within the parent.\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 /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n /** Data for a smart block node. */\n smartBlockData?: SmartBlockData;\n /** Data for a smart block cell node. */\n smartBlockCellData?: SmartBlockCellData;\n /** Data for a checkbox list node. */\n checkboxListData?: CheckboxListData;\n /** Data for a list item node. */\n listItemData?: ListItemNodeData;\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 /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n /** Data for a smart block node. */\n smartBlockData?: SmartBlockData;\n /** Data for a smart block cell node. */\n smartBlockCellData?: SmartBlockCellData;\n /** Data for a checkbox list node. */\n checkboxListData?: CheckboxListData;\n /** Data for a list item node. */\n listItemData?: ListItemNodeData;\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 SHAPE = 'SHAPE',\n CARD = 'CARD',\n TOC = 'TOC',\n SMART_BLOCK = 'SMART_BLOCK',\n SMART_BLOCK_CELL = 'SMART_BLOCK_CELL',\n CHECKBOX_LIST = 'CHECKBOX_LIST',\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 | 'SHAPE'\n | 'CARD'\n | 'TOC'\n | 'SMART_BLOCK'\n | 'SMART_BLOCK_CELL'\n | 'CHECKBOX_LIST';\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 /** Node animation. */\n animation?: Animation;\n}\n\n/** Background type */\nexport enum BackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT';\n\nexport interface Gradient {\n /** Gradient type. */\n type?: GradientTypeWithLiterals;\n /**\n * Color stops for the gradient.\n * @maxSize 1000\n */\n stops?: Stop[];\n /** Angle in degrees for linear gradient (0-360). */\n angle?: number | null;\n /**\n * Horizontal center position for radial gradient (0-100).\n * @max 100\n */\n centerX?: number | null;\n /**\n * Vertical center position for radial gradient (0-100).\n * @max 100\n */\n centerY?: number | null;\n}\n\n/** Gradient type. */\nexport enum GradientType {\n /** Linear gradient. */\n LINEAR = 'LINEAR',\n /** Radial gradient. */\n RADIAL = 'RADIAL',\n}\n\n/** @enumType */\nexport type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL';\n\n/** A single color stop in the gradient. */\nexport interface Stop {\n /**\n * Stop color as hex value.\n * @maxLength 19\n */\n color?: string | null;\n /** Stop position (0-1). */\n position?: number | null;\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\n/** Background styling (color or gradient) */\nexport interface Background {\n /** Background type. */\n type?: BackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\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 * @maxLength 19\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n textColorHover?: string | null;\n /**\n * Deprecated: Use `background` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColor?: string | null;\n /**\n * Deprecated: Use `backgroundHover` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n /** Background styling (color or gradient). */\n background?: Background;\n /** Background styling for hover state (color or gradient). */\n backgroundHover?: Background;\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 Animation {\n /** Animation kind. */\n type?: TypeWithLiterals;\n /** Entrance animation, played once when the node first enters the viewport. */\n entrance?: EntranceAnimation;\n /** Looping animation, repeated indefinitely while the node is on the page. When combined with entrance, the loop starts after the entrance finishes. */\n loop?: LoopAnimation;\n}\n\nexport enum Type {\n /** Animations that play while the node is in view. */\n VIEW = 'VIEW',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'VIEW';\n\nexport interface EntranceAnimation {\n /** The entrance effect to play. */\n effect?: EntranceEffect;\n /** Effect duration in milliseconds. Each effect has its own default. */\n duration?: number | null;\n /** Delay before the effect starts, in milliseconds. */\n delay?: number | null;\n}\n\nexport interface EntranceEffect {\n /** The entrance effect type. */\n type?: EntranceEffectTypeWithLiterals;\n /**\n * Direction the effect enters from. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, the diagonals with or without CENTER, corners, HORIZONTAL/VERTICAL, CLOCKWISE/COUNTER_CLOCKWISE).\n * @maxLength 20\n */\n direction?: string | null;\n /**\n * Clip-path shape: ELLIPSE, CIRCLE, RECTANGLE, or DIAMOND (SHAPE).\n * @maxLength 12\n */\n shape?: string | null;\n /**\n * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it.\n * @maxLength 100\n */\n easing?: string | null;\n}\n\nexport enum EntranceEffectType {\n /** Fades in from fully transparent to fully opaque. */\n FADE = 'FADE',\n /** Enters along a 3D arc path. */\n ARC = 'ARC',\n /** Transitions from blurred to sharp. */\n BLUR = 'BLUR',\n /** Bounces into place with an elastic curve. */\n BOUNCE = 'BOUNCE',\n /** Shrinks down from a larger size. */\n DROP = 'DROP',\n /** Expands from a point, scaling to full size. */\n EXPAND = 'EXPAND',\n /** Flips into view with a 3D rotation. */\n FLIP = 'FLIP',\n /** Drifts gently into place. */\n FLOAT = 'FLOAT',\n /** Unfolds from an edge as if hinged. */\n FOLD = 'FOLD',\n /** Glides in smoothly from off-screen. */\n GLIDE = 'GLIDE',\n /** Progressively revealed by an expanding clip-path. */\n REVEAL = 'REVEAL',\n /** Appears through an expanding geometric clip-path shape. */\n SHAPE = 'SHAPE',\n /** Revealed through shutter-like strips. */\n SHUTTERS = 'SHUTTERS',\n /** Slides in from one side. */\n SLIDE = 'SLIDE',\n /** Spins into view while scaling up. */\n SPIN = 'SPIN',\n /** Tilts in from the side with 3D rotation. */\n TILT = 'TILT',\n /** Rotates into view around a corner pivot. */\n TURN = 'TURN',\n /** Expands from its horizontal or vertical center. */\n WINK = 'WINK',\n}\n\n/** @enumType */\nexport type EntranceEffectTypeWithLiterals =\n | EntranceEffectType\n | 'FADE'\n | 'ARC'\n | 'BLUR'\n | 'BOUNCE'\n | 'DROP'\n | 'EXPAND'\n | 'FLIP'\n | 'FLOAT'\n | 'FOLD'\n | 'GLIDE'\n | 'REVEAL'\n | 'SHAPE'\n | 'SHUTTERS'\n | 'SLIDE'\n | 'SPIN'\n | 'TILT'\n | 'TURN'\n | 'WINK';\n\nexport interface LoopAnimation {\n /** The looping effect to repeat. */\n effect?: LoopEffect;\n /** Duration of a single iteration in milliseconds. Each effect has its own default. */\n duration?: number | null;\n /** Pause between iterations in milliseconds. */\n iterationDelay?: number | null;\n}\n\nexport interface LoopEffect {\n /** The looping effect type. */\n type?: LoopEffectTypeWithLiterals;\n /**\n * Direction of the effect. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, LEFT/RIGHT, HORIZONTAL/VERTICAL with or without CENTER, CLOCKWISE/COUNTER_CLOCKWISE).\n * @maxLength 20\n */\n direction?: string | null;\n /**\n * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it.\n * @maxLength 100\n */\n easing?: string | null;\n}\n\nexport enum LoopEffectType {\n /** Bounces up and down in place. */\n BOUNCE = 'BOUNCE',\n /** Scales gently in and out along an axis. */\n BREATHE = 'BREATHE',\n /** Drifts toward one side, then re-enters from the opposite side. */\n CROSS = 'CROSS',\n /** Fades out to fully transparent and back in. */\n FLASH = 'FLASH',\n /** Rotates a full turn around its horizontal or vertical axis. */\n FLIP = 'FLIP',\n /** Folds back and forth around a hinged edge. */\n FOLD = 'FOLD',\n /** Wobbles with a jelly-like skew. */\n JELLO = 'JELLO',\n /** Nudges repeatedly toward a direction. */\n POKE = 'POKE',\n /** Scales up and back down rhythmically. */\n PULSE = 'PULSE',\n /** Stretches and squashes like a rubber band. */\n RUBBER = 'RUBBER',\n /** Rotates continuously around its center. */\n SPIN = 'SPIN',\n /** Swings back and forth around an edge pivot. */\n SWING = 'SWING',\n /** Rocks side to side with an accumulating rotation. */\n WIGGLE = 'WIGGLE',\n}\n\n/** @enumType */\nexport type LoopEffectTypeWithLiterals =\n | LoopEffectType\n | 'BOUNCE'\n | 'BREATHE'\n | 'CROSS'\n | 'FLASH'\n | 'FLIP'\n | 'FOLD'\n | 'JELLO'\n | 'POKE'\n | 'PULSE'\n | 'RUBBER'\n | 'SPIN'\n | 'SWING'\n | 'WIGGLE';\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n /** Node animation. */\n animation?: Animation;\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 /** Visual styling for the divider lines. */\n styles?: DividerDataStyles;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport enum LineCap {\n /** Square line endings. */\n SQUARE = 'SQUARE',\n /** Rounded line endings. */\n ROUND = 'ROUND',\n}\n\n/** @enumType */\nexport type LineCapWithLiterals = LineCap | 'SQUARE' | 'ROUND';\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 DividerDataStyles {\n /**\n * Divider color as a hexadecimal value. An alpha channel controls opacity.\n * @maxLength 19\n */\n color?: string | null;\n /** Divider line ending shape. */\n lineCap?: LineCapWithLiterals;\n /**\n * Line thicknesses in pixels, ordered from first line to last line.\n * @maxSize 10\n */\n lineThickness?: number[];\n /** Visible dash length for dashed dividers, in pixels. The pattern is snapped to a whole number of dashes so that the first and last dash touch the divider's edges - narrower containers show fewer dashes at the same size. */\n dashLength?: number | null;\n /** Visible gap between dashes or dots, in pixels. */\n dashGap?: number | null;\n /** Gap between divider lines in pixels. */\n lineGap?: number | null;\n}\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Rendered heading level for SEO/accessibility, overrides the HTML tag when set. */\n renderedLevel?: number | null;\n /** Node animation. */\n animation?: Animation;\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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\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 /** Node animation. */\n animation?: Animation;\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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n AI_WIDGET = 'AI_WIDGET',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'HTML'\n | 'ADSENSE'\n | 'AI'\n | 'AI_WIDGET';\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 /** Non-destructive crop rectangle, expressed as fractions (0-1) of the original image. When omitted, the full image is shown. */\n crop?: ImageDataCrop;\n /** Optional shape mask applied to the visible crop. Supported values: CIRCLE, OVAL, STAR, PENTAGON, HEXAGON, TRIANGLE, HEART, RHOMBUS, FLUID, WINDOW. */\n cropShape?: string | null;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @maxLength 19\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 ImageDataCrop {\n /** Left edge of the crop, as a fraction (0-1) of the original image width. */\n x?: number | null;\n /** Top edge of the crop, as a fraction (0-1) of the original image height. */\n y?: number | null;\n /** Visible width of the crop, as a fraction (0-1) of the original image width. */\n width?: number | null;\n /** Visible height of the crop, as a fraction (0-1) of the original image height. */\n height?: number | null;\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 /** Node animation. */\n animation?: Animation;\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @maxLength 19\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @maxLength 19\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @maxLength 19\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 * @maxLength 19\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 PollDesignBackgroundType {\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 PollDesignBackgroundTypeWithLiterals =\n | PollDesignBackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface BackgroundGradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @maxLength 19\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @maxLength 19\n */\n lastColor?: string | null;\n}\n\nexport interface PollDesignBackground\n extends PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @maxLength 19\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n /** Background type. For each option, include the relevant details. */\n type?: PollDesignBackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @maxLength 19\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: PollDesignBackground;\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 /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** Data for a hand-drawn sketch annotation decoration. */\n sketchData?: SketchData;\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 /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** Data for a hand-drawn sketch annotation decoration. */\n sketchData?: SketchData;\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 FONT_FAMILY = 'FONT_FAMILY',\n SKETCH = 'SKETCH',\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 | 'FONT_FAMILY'\n | 'SKETCH';\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 /** The kind of entity the mention refers to. Any value is accepted, and it's usually used to mark a mention as a group mention (for example, `group`). When empty, the mention refers to a member. */\n type?: 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 FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface SketchData {\n /** The sketch annotation variant to draw over the text. */\n variant?: VariantWithLiterals;\n /**\n * Annotation color. Defaults to the theme action color.\n * @maxLength 19\n */\n color?: string | null;\n /** Whether the annotation animates on first paint. Defaults to `true`. */\n animate?: boolean | null;\n}\n\nexport enum Variant {\n UNDERLINE = 'UNDERLINE',\n BOX = 'BOX',\n CIRCLE = 'CIRCLE',\n HIGHLIGHT = 'HIGHLIGHT',\n STRIKETHROUGH = 'STRIKETHROUGH',\n CROSSED_OFF = 'CROSSED_OFF',\n}\n\n/** @enumType */\nexport type VariantWithLiterals =\n | Variant\n | 'UNDERLINE'\n | 'BOX'\n | 'CIRCLE'\n | 'HIGHLIGHT'\n | 'STRIKETHROUGH'\n | 'CROSSED_OFF';\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 /** Node animation. */\n animation?: Animation;\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 CardStylesType {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type CardStylesTypeWithLiterals =\n | CardStylesType\n | 'CONTAINED'\n | '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 * @maxLength 19\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @maxLength 19\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 * @maxLength 19\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @maxLength 19\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @maxLength 19\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?: CardStylesTypeWithLiterals;\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 * @maxLength 19\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Table's alternative text. */\n altText?: string | null;\n /** Node animation. */\n animation?: Animation;\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 /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @maxLength 19\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @maxLength 19\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @maxLength 19\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @maxLength 19\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | 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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Deprecated: Use `background` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: LayoutDataBackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Deprecated: Use `backdrop` instead.\n * @maxLength 19\n * @deprecated\n */\n backdropColor?: string | null;\n /** Backdrop image. */\n backdropImage?: LayoutDataBackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n /** Banner configuration. When present, this layout is attached to a document edge (top or bottom). */\n banner?: Banner;\n /** Background styling (color or gradient). */\n background?: LayoutDataBackground;\n /** Backdrop styling (color or gradient). */\n backdrop?: Backdrop;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport enum ImageScalingScaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ImageScalingScalingWithLiterals =\n | ImageScalingScaling\n | 'AUTO'\n | 'CONTAIN'\n | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background styling (color or gradient) */\nexport interface LayoutDataBackground {\n /** Background type. */\n type?: LayoutDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Background type */\nexport enum LayoutDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type LayoutDataBackgroundTypeWithLiterals =\n | LayoutDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\nexport enum Origin {\n /** Banner originated from an image */\n IMAGE = 'IMAGE',\n /** Banner originated from a layout */\n LAYOUT = 'LAYOUT',\n}\n\n/** @enumType */\nexport type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT';\n\nexport enum BannerPosition {\n /** Attached to the top edge (banner) */\n TOP = 'TOP',\n /** Attached to the bottom edge (footer) */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type BannerPositionWithLiterals = BannerPosition | 'TOP' | 'BOTTOM';\n\n/** Backdrop type */\nexport enum BackdropType {\n /** Solid color backdrop */\n COLOR = 'COLOR',\n /** Gradient backdrop */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT';\n\nexport interface LayoutDataBackgroundImage {\n /** Background image. */\n media?: Media;\n /**\n * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background`/`backdrop` color behind it.\n * @deprecated\n */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ImageScalingScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */\n blur?: number | null;\n /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`/`backdrop`). */\n overlay?: LayoutDataBackground;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface Banner {\n /** Origin of the banner */\n origin?: OriginWithLiterals;\n /** Position of the banner */\n position?: BannerPositionWithLiterals;\n}\n\n/** Backdrop styling (color or gradient) */\nexport interface Backdrop {\n /** Backdrop type. */\n type?: BackdropTypeWithLiterals;\n /**\n * Backdrop color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface CardData {\n /** Background styling (color or gradient). */\n background?: CardDataBackground;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePositionPosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionPositionWithLiterals =\n | ImagePositionPosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background styling (color or gradient) */\nexport interface CardDataBackground {\n /** Background type. */\n type?: CardDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Background type */\nexport enum CardDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type CardDataBackgroundTypeWithLiterals =\n | CardDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /**\n * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background` color behind it.\n * @deprecated\n */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionPositionWithLiterals;\n /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`). */\n overlay?: CardDataBackground;\n /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */\n blur?: number | null;\n}\n\nexport interface TocData {\n /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */\n includedHeadings?: number[];\n /** List style. Default: PLAIN. */\n listStyle?: ListStyleWithLiterals;\n /** Optional override for the font size in pixels. */\n fontSize?: number | null;\n /** Optional override for the vertical spacing between items in pixels. */\n itemSpacing?: number | null;\n /**\n * Optional override for the text color.\n * @maxLength 19\n */\n color?: string | null;\n /** Indentation style. Default: NESTED. */\n indentation?: IndentationWithLiterals;\n /** Node animation. */\n animation?: Animation;\n}\n\n/** List style. */\nexport enum ListStyle {\n /** No markers (default) */\n PLAIN = 'PLAIN',\n /** Numbered list */\n NUMBERED = 'NUMBERED',\n /** Alphabetic letters */\n LETTERS = 'LETTERS',\n /** Roman numerals */\n ROMAN = 'ROMAN',\n /** Bulleted list */\n BULLETED = 'BULLETED',\n /** Alphabetical index */\n ALPHABETICAL_INDEX = 'ALPHABETICAL_INDEX',\n /** Alphabetical index (compact top-row only) */\n ALPHABETICAL_INDEX_COMPACT = 'ALPHABETICAL_INDEX_COMPACT',\n}\n\n/** @enumType */\nexport type ListStyleWithLiterals =\n | ListStyle\n | 'PLAIN'\n | 'NUMBERED'\n | 'LETTERS'\n | 'ROMAN'\n | 'BULLETED'\n | 'ALPHABETICAL_INDEX'\n | 'ALPHABETICAL_INDEX_COMPACT';\n\n/** Indentation style. */\nexport enum Indentation {\n /** Sub-headings indented under parents (default) */\n NESTED = 'NESTED',\n /** All items at the same level */\n FLAT = 'FLAT',\n}\n\n/** @enumType */\nexport type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT';\n\n/** Data for a smart block node. */\nexport interface SmartBlockData {\n /** The type of the smart block. */\n type?: SmartBlockDataTypeWithLiterals;\n /** Layout orientation. HORIZONTAL or VERTICAL. Optional for variants with fixed orientation. */\n orientation?: string | null;\n /** Column size controlling cells per row. */\n columnSize?: ColumnSizeWithLiterals;\n /**\n * Border color (for SOLID_JOINED_BOXES variant).\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels (for SOLID_JOINED_BOXES variant). */\n borderWidth?: number | null;\n /** Border radius in pixels (for SOLID_JOINED_BOXES variant). */\n borderRadius?: number | null;\n /** Node animation. */\n animation?: Animation;\n}\n\n/** Layout type of the smart block */\nexport enum SmartBlockDataType {\n /** Grid-based layouts with solid box items containing title, body, and icon/image. */\n SOLID_BOXES = 'SOLID_BOXES',\n /** Numbered boxes. */\n NUMBERED_BOXES = 'NUMBERED_BOXES',\n /** Statistics display with large numbers/values. */\n STATS = 'STATS',\n /** Statistics with circular visual elements. */\n CIRCLE_STATS = 'CIRCLE_STATS',\n /** Staggered/zigzag grid layout with alternating box positions. */\n SOLID_BOXES_ALTERNATING = 'SOLID_BOXES_ALTERNATING',\n /** Grid layout with boxes visually joined (no gaps, shared container border). */\n SOLID_JOINED_BOXES = 'SOLID_JOINED_BOXES',\n /** Transparent cells with only a left side line. */\n SIDE_LINE_TEXT = 'SIDE_LINE_TEXT',\n /** Transparent cells with only a top line. */\n TOP_LINE_TEXT = 'TOP_LINE_TEXT',\n /** Outlined boxes with a numbered/icon circle at the top. */\n OUTLINE_BOXES_WITH_TOP_CIRCLE = 'OUTLINE_BOXES_WITH_TOP_CIRCLE',\n /** Large icon bullets with text content. */\n BIG_BULLETS = 'BIG_BULLETS',\n /** Small dot bullets with text content. */\n SMALL_BULLETS = 'SMALL_BULLETS',\n /** Arrow icon bullets with text content. */\n ARROW_BULLETS = 'ARROW_BULLETS',\n /** Process steps with numbered/icon labels above a horizontal line. */\n PROCESS_STEPS = 'PROCESS_STEPS',\n /** Statistics with bar visual elements. */\n BAR_STATS = 'BAR_STATS',\n /** Timeline layout with numbered chips on a connecting line; cells alternate around the line. */\n TIMELINE = 'TIMELINE',\n /** Timeline layout with plain dot indicators; no numbers or shapes; cells alternate around the line. */\n MINIMAL_TIMELINE = 'MINIMAL_TIMELINE',\n /** Numbered pill-shaped labels (stadium chips) with text content; supports HORIZONTAL (pill on top) and VERTICAL (pill on left) orientations. */\n PILLS = 'PILLS',\n /** Star rating display with stars and a numeric value per cell. */\n STAR_RATING = 'STAR_RATING',\n /** Outlined boxes with decorative quote glyphs at the top-left and bottom-right corners. */\n QUOTE_BOXES = 'QUOTE_BOXES',\n /** Donut/ring with numbered annular-sector segments; cell text labels sit outside the ring. */\n CIRCLE = 'CIRCLE',\n /** Hierarchical pyramid where each cell renders as a horizontal slice (apex at top, base at bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the pyramid. */\n PYRAMID = 'PYRAMID',\n /** Cells render a horizontal bar whose width scales with cell index, creating a staircase pattern; bar carries the cell number or a custom shape. */\n STAIRCASE = 'STAIRCASE',\n /** Hierarchical funnel where each cell renders as a horizontal slice (wide at top, narrowing toward the bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the funnel. */\n VERTICAL_FUNNEL = 'VERTICAL_FUNNEL',\n}\n\n/** @enumType */\nexport type SmartBlockDataTypeWithLiterals =\n | SmartBlockDataType\n | 'SOLID_BOXES'\n | 'NUMBERED_BOXES'\n | 'STATS'\n | 'CIRCLE_STATS'\n | 'SOLID_BOXES_ALTERNATING'\n | 'SOLID_JOINED_BOXES'\n | 'SIDE_LINE_TEXT'\n | 'TOP_LINE_TEXT'\n | 'OUTLINE_BOXES_WITH_TOP_CIRCLE'\n | 'BIG_BULLETS'\n | 'SMALL_BULLETS'\n | 'ARROW_BULLETS'\n | 'PROCESS_STEPS'\n | 'BAR_STATS'\n | 'TIMELINE'\n | 'MINIMAL_TIMELINE'\n | 'PILLS'\n | 'STAR_RATING'\n | 'QUOTE_BOXES'\n | 'CIRCLE'\n | 'PYRAMID'\n | 'STAIRCASE'\n | 'VERTICAL_FUNNEL';\n\n/** Column size controlling how many cells appear per row. */\nexport enum ColumnSize {\n /** Up to 4 cells in a row. */\n SMALL = 'SMALL',\n /** Up to 3 cells in a row (default). */\n MEDIUM = 'MEDIUM',\n /** Up to 2 cells in a row. */\n LARGE = 'LARGE',\n /** 1 cell in a row. */\n EXTRA_LARGE = 'EXTRA_LARGE',\n}\n\n/** @enumType */\nexport type ColumnSizeWithLiterals =\n | ColumnSize\n | 'SMALL'\n | 'MEDIUM'\n | 'LARGE'\n | 'EXTRA_LARGE';\n\n/** Data for a smart block cell node. */\nexport interface SmartBlockCellData {\n /** Optional label text for the cell (e.g., for stats variants). */\n label?: string | null;\n /** Shape file details. */\n shape?: Media;\n /**\n * Border color of the cell.\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /** The type of the parent smart block (must match parent). */\n type?: SmartBlockDataTypeWithLiterals;\n /**\n * Accent color for non-background variants (e.g., line, bullet, label color).\n * @maxLength 19\n */\n accentColor?: string | null;\n /**\n * Background color for background-based variants (SOLID_BOXES, SOLID_BOXES_ALTERNATING, SOLID_JOINED_BOXES).\n * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Shape fill color as a hexadecimal value.\n * @maxLength 19\n */\n shapeColor?: string | null;\n}\n\nexport interface CheckboxListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface ListItemNodeData {\n /** Checkbox list item state. Defaults to `false`. */\n checked?: boolean | null;\n /** Node animation. */\n animation?: Animation;\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 whose catalog this category tree belongs to.\n *\n * Currently, only `\"@wix/stores\"` is supported.\n * @minLength 4\n * @maxLength 150\n */\n appNamespace?: string;\n /**\n * Key to differentiate between multiple trees managed by the same app.\n *\n * For Wix Stores, pass `null` or omit this field, as each store has only one category 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 /** Invalidate by multiple page ids */\n pages?: Pages;\n /** Invalidate by multiple URI paths */\n uris?: URIs;\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 * Optional caller-provided ID for tracking this invalidation through the system.\n * When set, the corresponding CDN purge completion event will include this ID,\n * allowing you to confirm when the invalidation has fully propagated.\n * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event.\n * @maxLength 256\n */\n correlationId?: string | null;\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 /** Invalidate by multiple page ids */\n pages?: Pages;\n /** Invalidate by multiple URI paths */\n uris?: URIs;\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 Pages {\n /**\n * the msid the pages are on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by multiple Page IDs in a single message\n * @maxSize 100\n * @minLength 1\n */\n pageIds?: string[];\n}\n\nexport interface URIs {\n /**\n * the msid the URIs are on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @maxSize 100\n * @minLength 1\n */\n uriPaths?: 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.\n *\n * For Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction).\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the Wix app providing the catalog.\n *\n * Currently, only Wix Stores is supported. Use `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"` for all Wix Stores products.\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 BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type SingleEntityOpsRequestedFieldsWithLiterals =\n | SingleEntityOpsRequestedFields\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\n\nexport interface CreateCategoryResponse {\n /** Created category. */\n category?: Category;\n}\n\nexport interface DuplicateHandleErrorData {\n /**\n * existing category id with provided handle\n * @format GUID\n */\n existingCategoryId?: string;\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 GetCategoryBySlugRequest {\n /**\n * Category slug.\n * @format URL_SLUG\n */\n slug: 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 GetCategoryBySlugResponse {\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 BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\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 /** Search criteria including filter, sort, aggregations, and paging options. */\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 /** Filter object for narrowing search results. */\n filter?: Record<string, any> | null;\n /**\n * Array of sort objects specifying result order.\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](https://dev.wix.com/docs/api-reference/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 /** 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 | '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 /** 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 | '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 /** 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 | '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 /** 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 | '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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).\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 * ID of the target parent category. Leave empty or omit to move the category to the top level.\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 FIRST = 'FIRST',\n LAST = 'LAST',\n AFTER = 'AFTER',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'FIRST' | 'LAST' | '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.\n *\n * Visibility cascades to subcategories: setting a parent category to `false` also hides all its subcategories.\n * Setting to `true` fails if any parent category is hidden.\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 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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 the category's manual arrangement for sorting items.\n *\n * When `true`, manually arranged items appear first in their specified order, followed by remaining items sorted by date added (newest first).\n * When `false`, all items are sorted by date added (newest first).\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false`\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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 * IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * IDs of all categories containing this item, including direct categories and all their ancestor categories.\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. */\n item?: ItemReference;\n /**\n * IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * IDs of ancestor categories of the item's direct categories. These categories indirectly contain the item through their subcategories.\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 FIRST = 'FIRST',\n LAST = 'LAST',\n BEFORE = 'BEFORE',\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type MoveItemInCategoryRequestPositionWithLiterals =\n | MoveItemInCategoryRequestPosition\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 in the desired order. The order in this array determines the display order when List Items In Category is called with `useCategoryArrangement: true`.\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 BulkCreateCategoriesForMigrationRequest {\n /**\n * Categories to create.\n * @minSize 1\n * @maxSize 100\n */\n categories?: Category[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Whether to return the created categories in the response. */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateCategoriesForMigrationResponse {\n /** Results of the bulk operation. */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkAddItemsToCategoryForMigrationRequest {\n /**\n * Category to add items to.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /**\n * Items to add to the category.\n * @minSize 1\n * @maxSize 1000\n */\n items?: ItemReference[];\n}\n\nexport interface BulkAddItemsToCategoryForMigrationResponse {\n /** Results of item associations. */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface SetArrangedItemsForMigrationRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /**\n * List of items in the desired order.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface SetArrangedItemsForMigrationResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Published on Greyhound topic \"catalog-rollback-requested\" after the site is handled by the V3 population rollback.\n * Each owning service reacts to this rollback request according to its own policy.\n */\nexport interface CatalogRollbackRequested {\n /**\n * The MetaSite ID of the store whose catalog migration rollback was requested.\n * @format GUID\n */\n metaSiteId?: string;\n /** Whether owner services should clean V3 catalog data as a reaction to this rollback request. */\n cleanData?: boolean;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type 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?: 'DUPLICATE_HANDLE';\n description?: string;\n data?: DuplicateHandleErrorData;\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 CreateCategoryValidationErrors =\n | {\n ruleName?: 'ID_NOT_ALLOWED_IN_REQUEST';\n }\n | {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 UpdateCategoryValidationErrors = {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 BulkUpdateCategoriesValidationErrors = {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface CategoryMovedEnvelope {\n data: CategoryMoved;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a category is moved to a different position or parent category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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/**\n * Triggered when a category is created.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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/**\n * Triggered when a category is deleted.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 are rearranged within a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a category is updated.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n __validationErrorsType?: CreateCategoryValidationErrors;\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 | `treeReference.appNamespace`,\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 * Retrieves a category by its slug.\n * @param slug - Category slug.\n * @param treeReference - Category tree reference details.\n * @public\n * @documentationMaturity preview\n * @requiredField slug\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.GetCategoryBySlug\n */\nexport async function getCategoryBySlug(\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n): Promise<\n NonNullablePaths<\n GetCategoryBySlugResponse,\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 | `category.treeReference.appNamespace`,\n 7\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 { slug: slug, treeReference: treeReference, fields: options?.fields },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getCategoryBySlug(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 slug: '$[0]',\n treeReference: '$[1]',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['slug', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetCategoryBySlugOptions {\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n __validationErrorsType?: UpdateCategoryValidationErrors;\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 directly assigned to this category. Doesn't include items in subcategories.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Plain-text category description.\n *\n * Returned only when you pass `\"DESCRIPTION\"` to the `fields` array.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors.\n *\n * Visibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\n * Setting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n *\n * > **Notes:**\n * > 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n * > 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n * > 3. Default: `true`\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n *\n * Breadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n *\n * Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Information about the category's parent. Top-level categories don't have a parent.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug. A URL-friendly identifier used in the category page address.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @minLength 1\n * @maxLength 300\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 * Reference to the category tree this category belongs to.\n *\n * When working with Wix Stores categories, always pass `appNamespace: \"@wix/stores\"` and `treeKey: null`.\n * @readonly\n */\n treeReference?: TreeReference;\n /**\n * ID of the app responsible for managing items in this category.\n *\n * When set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n *\n * You can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/).\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/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) 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 *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 * @hidden\n * @fqn com.wix.categories.api.v1.CategoriesService.QueryCategories\n * @requiredField query\n * @requiredField options\n */\nexport async function typedQueryCategories(\n query: CategoryQuery,\n options: QueryCategoriesOptions\n): Promise<\n NonNullablePaths<\n QueryCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `categories.${number}.treeReference.appNamespace`,\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 { query: query, ...options },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.queryCategories(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: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CategoryQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_id',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n operators: '*';\n sort: 'NONE';\n },\n {\n fields: [\n '_createdDate',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Category,\n CategoryQuerySpec\n>;\nexport type CategoryQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object 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?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: {\n ...createQueryUtils<Category, CategoryQuerySpec, CategoryQuery>(),\n },\n search: {\n ...createSearchUtils<Category, CategorySearchSpec, CategorySearch>(),\n },\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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n * @param search - Search criteria including filter, sort, aggregations, and paging 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 | `categories.${number}.treeReference.appNamespace`\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. \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Array of sort objects specifying result order. \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](https://dev.wix.com/docs/api-reference/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 * @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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).\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 * ID of the target parent category. Leave empty or omit to move the category to the top level.\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 | `results.${number}.category.treeReference.appNamespace`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n __validationErrorsType?: BulkUpdateCategoriesValidationErrors;\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 * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 | `category.treeReference.appNamespace`,\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.\n *\n * Visibility cascades to subcategories: setting a parent category to `false` also hides all its subcategories.\n * Setting to `true` fails if any parent category is hidden.\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 * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 | `results.${number}.category.treeReference.appNamespace`\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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 the category's manual arrangement for sorting items.\n *\n * When `true`, manually arranged items appear first in their specified order, followed by remaining items sorted by date added (newest first).\n * When `false`, all items are sorted by date added (newest first).\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false`\n */\n includeItemsFromSubcategories?: boolean;\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each 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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 in the desired order. The order in this array determines the display order when List Items In Category is called with `useCategoryArrangement: true`.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Retrieves the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'category.richContentDescription.nodes.imageData.crop.x' },\n { path: 'category.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'category.richContentDescription.nodes.tocData.fontSize' },\n { path: 'category.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategory;\n}\n\n/** Retrieves a category by its slug. */\nexport function getCategoryBySlug(payload: object): RequestOptionsFactory<any> {\n function __getCategoryBySlug({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.GetCategoryBySlug',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/slug/{slug}',\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategoryBySlug;\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'category.richContentDescription.nodes.imageData.crop.x' },\n { path: 'category.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'category.richContentDescription.nodes.tocData.fontSize' },\n { path: 'category.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategory;\n}\n\n/**\n * Deletes a category.\n *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\n */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.richContentDescription.nodes.smartBlockCellData.shape.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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.richContentDescription.nodes.smartBlockCellData.shape.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/** Counts the number of categories that match the provided filtering. */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'results.category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkUpdateCategories;\n}\n\n/**\n * Updates category visibility.\n *\n * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategoryVisibility;\n}\n\n/**\n * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'results.category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListItemsInCategory',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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/**\n * Retrieves the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each item.\n */\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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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 migrationOptions: {\n optInTransformResponse: true,\n },\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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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/**\n * Retrieves the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\n */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 getCategoryBySlug as publicGetCategoryBySlug,\n updateCategory as publicUpdateCategory,\n deleteCategory as publicDeleteCategory,\n queryCategories as publicQueryCategories,\n typedQueryCategories as publicTypedQueryCategories,\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 { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n CategoriesQueryBuilder,\n CategoryQuery,\n QueryCategoriesOptions,\n typedQueryCategories as universalTypedQueryCategories,\n} from './categories-v1-category-categories.universal.js';\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\nfunction customQueryCategories(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: (options: QueryCategoriesOptions) =>\n publicQueryCategories(httpClient)(options),\n typedQueryFunction: (\n query: CategoryQuery,\n options: QueryCategoriesOptions\n ) => publicTypedQueryCategories(httpClient)(query, options),\n hasOptionsParameter: true,\n });\n\n function overloadedQuery(\n query: CategoryQuery,\n options: QueryCategoriesOptions\n ): ReturnType<typeof universalTypedQueryCategories>;\n function overloadedQuery(\n options: QueryCategoriesOptions\n ): CategoriesQueryBuilder;\n function overloadedQuery(\n queryOrOptions?: CategoryQuery | QueryCategoriesOptions,\n options?: QueryCategoriesOptions\n ): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\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 getCategoryBySlug: MaybeContext<\n BuildRESTFunction<typeof publicGetCategoryBySlug> &\n typeof publicGetCategoryBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetCategoryBySlug);\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 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);\nexport const queryCategories: MaybeContext<\n BuildRESTFunction<typeof customQueryCategories> & typeof customQueryCategories\n> = /*#__PURE__*/ createRESTModule(customQueryCategories);\n/**\n * Triggered when a category is moved to a different position or parent category.\n */\nexport const onCategoryMoved: BuildEventDefinition<\n typeof publicOnCategoryMoved\n> &\n typeof publicOnCategoryMoved = createEventModule(publicOnCategoryMoved);\n/**\n * Triggered when a category is created.\n */\nexport const onCategoryCreated: BuildEventDefinition<\n typeof publicOnCategoryCreated\n> &\n typeof publicOnCategoryCreated = createEventModule(publicOnCategoryCreated);\n/**\n * Triggered when a category is deleted.\n */\nexport const onCategoryDeleted: BuildEventDefinition<\n typeof publicOnCategoryDeleted\n> &\n typeof publicOnCategoryDeleted = createEventModule(publicOnCategoryDeleted);\n/**\n * Triggered when an item is added to a category.\n */\nexport const onCategoryItemAddedToCategory: BuildEventDefinition<\n typeof publicOnCategoryItemAddedToCategory\n> &\n typeof publicOnCategoryItemAddedToCategory = createEventModule(\n publicOnCategoryItemAddedToCategory\n);\n/**\n * Triggered when an item is removed from a category.\n */\nexport const onCategoryItemRemovedFromCategory: BuildEventDefinition<\n typeof publicOnCategoryItemRemovedFromCategory\n> &\n typeof publicOnCategoryItemRemovedFromCategory = createEventModule(\n publicOnCategoryItemRemovedFromCategory\n);\n/**\n * Triggered when items are rearranged within a category.\n */\nexport const onCategoryItemsArrangedInCategory: BuildEventDefinition<\n typeof publicOnCategoryItemsArrangedInCategory\n> &\n typeof publicOnCategoryItemsArrangedInCategory = createEventModule(\n publicOnCategoryItemsArrangedInCategory\n);\n/**\n * Triggered when a category is updated.\n */\nexport const onCategoryUpdated: BuildEventDefinition<\n typeof publicOnCategoryUpdated\n> &\n typeof publicOnCategoryUpdated = createEventModule(publicOnCategoryUpdated);\n\nexport {\n NodeType,\n BackgroundType,\n GradientType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n Type,\n EntranceEffectType,\n LoopEffectType,\n TextAlignment,\n LineCap,\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 PollDesignBackgroundType,\n DecorationType,\n FontType,\n Variant,\n ImageStylesPosition,\n AspectRatio,\n Resizing,\n Placement,\n CardStylesType,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n ImageScalingScaling,\n ImagePosition,\n LayoutDataBackgroundType,\n Origin,\n BannerPosition,\n BackdropType,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n Scaling,\n ImagePositionPosition,\n CardDataBackgroundType,\n ListStyle,\n Indentation,\n SmartBlockDataType,\n ColumnSize,\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 Gradient,\n Stop,\n Border,\n Colors,\n Background,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n Animation,\n EntranceAnimation,\n EntranceEffect,\n LoopAnimation,\n LoopEffect,\n CodeBlockData,\n TextStyle,\n DividerData,\n DividerDataStyles,\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 ImageDataCrop,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n BackgroundGradient,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\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 FontFamilyData,\n SketchData,\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 BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n Banner,\n Backdrop,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n CardData,\n CardDataBackground,\n BackgroundImage,\n TocData,\n SmartBlockData,\n SmartBlockCellData,\n CheckboxListData,\n ListItemNodeData,\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 Pages,\n URIs,\n CategoryMoved,\n ItemAddedToCategory,\n ItemReference,\n ItemsAddedToCategory,\n ItemRemovedFromCategory,\n ItemsRemovedFromCategory,\n ItemsArrangedInCategory,\n CreateCategoryRequest,\n CreateCategoryResponse,\n DuplicateHandleErrorData,\n GetCategoryRequest,\n GetCategoryResponse,\n GetCategoryBySlugRequest,\n GetCategoryBySlugResponse,\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 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 BulkCreateCategoriesForMigrationRequest,\n BulkCreateCategoriesForMigrationResponse,\n BulkAddItemsToCategoryForMigrationRequest,\n BulkAddItemsToCategoryForMigrationResponse,\n SetArrangedItemsForMigrationRequest,\n SetArrangedItemsForMigrationResponse,\n CatalogRollbackRequested,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n CategoryMovedEnvelope,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryUpdatedEnvelope,\n CreateCategoryOptions,\n GetCategoryOptions,\n GetCategoryBySlugOptions,\n UpdateCategory,\n UpdateCategoryOptions,\n QueryCategoriesOptions,\n CategoriesQueryResult,\n CategoriesQueryBuilder,\n CategoryQuerySpec,\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 { utils } from './categories-v1-category-categories.universal.js';\nexport {\n NodeTypeWithLiterals,\n BackgroundTypeWithLiterals,\n GradientTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TypeWithLiterals,\n EntranceEffectTypeWithLiterals,\n LoopEffectTypeWithLiterals,\n TextAlignmentWithLiterals,\n LineCapWithLiterals,\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 PollDesignBackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n VariantWithLiterals,\n ImageStylesPositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n CardStylesTypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ImageScalingScalingWithLiterals,\n ImagePositionWithLiterals,\n LayoutDataBackgroundTypeWithLiterals,\n OriginWithLiterals,\n BannerPositionWithLiterals,\n BackdropTypeWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n ScalingWithLiterals,\n ImagePositionPositionWithLiterals,\n CardDataBackgroundTypeWithLiterals,\n ListStyleWithLiterals,\n IndentationWithLiterals,\n SmartBlockDataTypeWithLiterals,\n ColumnSizeWithLiterals,\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 CreateCategoryValidationErrors,\n UpdateCategoryApplicationErrors,\n UpdateCategoryValidationErrors,\n DeleteCategoryApplicationErrors,\n MoveCategoryApplicationErrors,\n BulkUpdateCategoriesApplicationErrors,\n BulkUpdateCategoriesValidationErrors,\n UpdateCategoryVisibilityApplicationErrors,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemToCategoriesApplicationErrors,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemFromCategoriesApplicationErrors,\n SetArrangedItemsApplicationErrors,\n BulkSetItemCategoriesApplicationErrors,\n CommonQueryWithEntityContext,\n CategoryQuery,\n CommonSearchWithEntityContext,\n CategorySearch,\n} from './categories-v1-category-categories.universal.js';\n"],"mappings":"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CA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,yDAAyD;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,4DAA4D;AAAA,UACpE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,YAAY,SAA6C;AACvE,WAAS,cAAc,EAAE,KAAK,GAAQ;AACpC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AASO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,uBAAuB;AAAA,UAC/B,EAAE,MAAM,uBAAuB;AAAA,UAC/B,EAAE,MAAM,mCAAmC;AAAA,UAC3C,EAAE,MAAM,4DAA4D;AAAA,UACpE,EAAE,MAAM,4DAA4D;AAAA,QACtE;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,yDAAyD;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,4DAA4D;AAAA,UACpE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAYO,SAAS,gBAAgB,SAA6C;AAC3E,WAAS,kBAAkB,EAAE,KAAK,GAAQ;AACxC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,qCAAqC;AAAA,YAC7C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAA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MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,2CAA2C;AAAA,YACnD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAWO,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,mBACd,SAC4B;AAC5B,WAAS,qBAAqB,EAAE,KAAK,GAAQ;AAC3C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,2CAA2C;AAAA,YACnD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;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AA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,0DAA0D;AAAA,UAClE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,Y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YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAA2B;;;AGx2D3B,IAAAC,uBAAiC;AACjC,sCAAkC;AAOlC,iCAA0C;AAe1C,SAAS,sBAAsB,YAAwB;AACrD,QAAM,aAAS,sDAA0B;AAAA,IACvC,sBAAsB,CAAC,YACrBC,iBAAsB,UAAU,EAAE,OAAO;AAAA,IAC3C,oBAAoB,CAClB,OACA,YACGC,sBAA2B,UAAU,EAAE,OAAO,OAAO;AAAA,IAC1D,qBAAqB;AAAA,EACvB,CAAC;AASD,WAAS,gBACP,gBACA,SACK;AACL,WAAO,OAAO,GAAG,SAAS;AAAA,EAC5B;AAEA,SAAO;AACT;AAEO,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,eAEK,2DAAiBA,YAAiB;AAC7C,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,mBAEK,2DAAiBA,gBAAqB;AACjD,IAAMC,gBAEK,2DAAiBA,aAAkB;AAC9C,IAAMC,wBAGK,2DAAiBA,qBAA0B;AACtD,IAAMC,4BAGK,2DAAiBA,yBAA8B;AAC1D,IAAMC,sBAGK,2DAAiBA,mBAAwB;AACpD,IAAMC,0BAGK,2DAAiBA,uBAA4B;AACxD,IAAMC,2BAGK,2DAAiBA,wBAA6B;AACzD,IAAMC,+BAGK,2DAAiBA,4BAAiC;AAC7D,IAAMC,gCAGK,2DAAiBA,6BAAkC;AAC9D,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,yBAGK,2DAAiBA,sBAA2B;AACvD,IAAMC,0BAGK,2DAAiBA,uBAA4B;AACxD,IAAMC,aAEK,2DAAiBA,UAAe;AAC3C,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAElD,IAAMC,yBAGK,2DAAiBA,sBAA2B;AACvD,IAAMvB,mBAEK,2DAAiB,qBAAqB;AAIjD,IAAMwB,uBAGoB,mDAAkB,eAAqB;AAIjE,IAAMC,yBAGsB,mDAAkB,iBAAuB;AAIrE,IAAMC,yBAGsB,mDAAkB,iBAAuB;AAIrE,IAAMC,qCAGkC;AAAA,EAC7C;AACF;AAIO,IAAMC,yCAGsC;AAAA,EACjD;AACF;AAIO,IAAMC,yCAGsC;AAAA,EACjD;AACF;AAIO,IAAMC,yBAGsB,mDAAkB,iBAAuB;","names":["bulkAddItemToCategories","bulkAddItemsToCategory","bulkRemoveItemFromCategories","bulkRemoveItemsFromCategory","bulkSetItemCategories","bulkShowCategories","bulkUpdateCategories","countCategories","createCategory","deleteCategory","getArrangedItems","getCategory","getCategoryBySlug","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","BackgroundType","GradientType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","Type","EntranceEffectType","LoopEffectType","TextAlignment","LineCap","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","PollDesignBackgroundType","DecorationType","FontType","Variant","ImageStylesPosition","AspectRatio","Resizing","Placement","CardStylesType","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","ImageScalingScaling","ImagePosition","LayoutDataBackgroundType","Origin","BannerPosition","BackdropType","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","Scaling","ImagePositionPosition","CardDataBackgroundType","ListStyle","Indentation","SmartBlockDataType","ColumnSize","SingleEntityOpsRequestedFields","SortOrder","RequestedFields","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","Mode","Position","MoveItemInCategoryRequestPosition","WebhookIdentityType","createCategory","sdkTransformError","getCategory","getCategoryBySlug","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","createCategory","getCategory","getCategoryBySlug","updateCategory","deleteCategory","queryCategories","typedQueryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","import_rest_modules","queryCategories","typedQueryCategories","createCategory","getCategory","getCategoryBySlug","updateCategory","deleteCategory","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 BulkUpdateCategoriesValidationErrors,\n CategoriesQueryBuilder,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMovedEnvelope,\n CategoryQuery,\n CategorySearch,\n CategoryUpdatedEnvelope,\n CountCategoriesOptions,\n CountCategoriesResponse,\n CreateCategoryApplicationErrors,\n CreateCategoryOptions,\n CreateCategoryValidationErrors,\n DeleteCategoryApplicationErrors,\n GetArrangedItemsResponse,\n GetCategoryBySlugOptions,\n GetCategoryBySlugResponse,\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 QueryCategoriesResponse,\n SearchCategoriesOptions,\n SearchCategoriesResponse,\n SetArrangedItemsApplicationErrors,\n SetArrangedItemsOptions,\n SetArrangedItemsResponse,\n TreeReference,\n UpdateCategory,\n UpdateCategoryApplicationErrors,\n UpdateCategoryOptions,\n UpdateCategoryValidationErrors,\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 getCategoryBySlug as universalGetCategoryBySlug,\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 typedQueryCategories as universalTypedQueryCategories,\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n __validationErrorsType?: CreateCategoryValidationErrors;\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 | `treeReference.appNamespace`,\n 6\n >\n >;\n}\n\nexport function getCategoryBySlug(\n httpClient: HttpClient\n): GetCategoryBySlugSignature {\n return (\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n ) =>\n universalGetCategoryBySlug(\n slug,\n treeReference,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCategoryBySlugSignature {\n /**\n * Retrieves a category by its slug.\n * @param - Category slug.\n * @param - Category tree reference details.\n */\n (\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n ): Promise<\n NonNullablePaths<\n GetCategoryBySlugResponse,\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 | `category.treeReference.appNamespace`,\n 7\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n __validationErrorsType?: UpdateCategoryValidationErrors;\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 *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n */\n (options: QueryCategoriesOptions): CategoriesQueryBuilder;\n}\n\nexport function typedQueryCategories(\n httpClient: HttpClient\n): TypedQueryCategoriesSignature {\n return (query: CategoryQuery, options: QueryCategoriesOptions) =>\n universalTypedQueryCategories(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryCategoriesSignature {\n /** */\n (query: CategoryQuery, options: QueryCategoriesOptions): Promise<\n NonNullablePaths<\n QueryCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `categories.${number}.treeReference.appNamespace`,\n 6\n >\n >;\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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n * @param - Search criteria including filter, sort, aggregations, and paging 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 | `categories.${number}.treeReference.appNamespace`\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 (\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 | `results.${number}.category.treeReference.appNamespace`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n __validationErrorsType?: BulkUpdateCategoriesValidationErrors;\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 * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 | `category.treeReference.appNamespace`,\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 * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 | `results.${number}.category.treeReference.appNamespace`\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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 the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each 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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'entity.richContentDescription.nodes.imageData.crop.x' },\n { path: 'entity.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.height',\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 path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'entity.richContentDescription.nodes.tocData.fontSize' },\n { path: 'entity.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'entity.richContentDescription.nodes.smartBlockCellData.shape.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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'undefined.richContentDescription.nodes.imageData.crop.x' },\n { path: 'undefined.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'undefined.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'undefined.richContentDescription.nodes.imageData.crop.height',\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 path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'undefined.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'undefined.richContentDescription.nodes.tocData.fontSize' },\n {\n path: 'undefined.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'undefined.richContentDescription.nodes.smartBlockCellData.shape.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 { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.richContentDescription.metadata.createdTimestamp',\n },\n {\n path: 'modifiedFields.richContentDescription.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.image' }, { path: 'modifiedFields.image' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'entity.richContentDescription.nodes.imageData.crop.x' },\n { path: 'entity.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'entity.richContentDescription.nodes.imageData.crop.height',\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 path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'entity.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'entity.richContentDescription.nodes.tocData.fontSize' },\n { path: 'entity.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'entity.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.x',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.imageData.crop.height',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.poll.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.appEmbedData.image.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.videoData.video.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.audioData.audio.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.audioData.coverImage.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'modifiedFields.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ])\n )\n)<CategoryUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n Animation,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n AspectRatio,\n AudioData,\n Backdrop,\n BackdropType,\n Background,\n BackgroundGradient,\n BackgroundImage,\n BackgroundType,\n Banner,\n BannerPosition,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n Breadcrumb,\n BreadcrumbsInfo,\n BulkActionMetadata,\n BulkAddItemToCategoriesOptions,\n BulkAddItemToCategoriesRequest,\n BulkAddItemToCategoriesResponse,\n BulkAddItemsToCategoryForMigrationRequest,\n BulkAddItemsToCategoryForMigrationResponse,\n BulkAddItemsToCategoryOptions,\n BulkAddItemsToCategoryRequest,\n BulkAddItemsToCategoryResponse,\n BulkCategoriesResult,\n BulkCreateCategoriesForMigrationRequest,\n BulkCreateCategoriesForMigrationResponse,\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 CardData,\n CardDataBackground,\n CardDataBackgroundType,\n CardStyles,\n CardStylesType,\n CatalogRollbackRequested,\n CategoriesQueryBuilder,\n CategoriesQueryResult,\n Category,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryMoved,\n CategoryMovedEnvelope,\n CategoryQuerySpec,\n CategorySearchSpec,\n CategoryTreeNode,\n CategoryUpdatedEnvelope,\n CellStyle,\n CheckboxListData,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ColumnSize,\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 DesignTarget,\n Dimensions,\n Direction,\n DividerData,\n DividerDataAlignment,\n DividerDataStyles,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n DuplicateHandleErrorData,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EntranceAnimation,\n EntranceEffect,\n EntranceEffectType,\n EventData,\n EventMetadata,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontFamilyData,\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 GetCategoryBySlugOptions,\n GetCategoryBySlugRequest,\n GetCategoryBySlugResponse,\n GetCategoryOptions,\n GetCategoryRequest,\n GetCategoryResponse,\n Gradient,\n GradientType,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataCrop,\n ImageDataStyles,\n ImagePosition,\n ImagePositionPosition,\n ImageScalingScaling,\n ImageStyles,\n ImageStylesPosition,\n IncludeMissingValuesOptions,\n Indentation,\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 LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n LayoutDataBackgroundType,\n LayoutType,\n LineCap,\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 ListItemNodeData,\n ListItemsInCategoryOptions,\n ListItemsInCategoryOptionsPagingMethodOneOf,\n ListItemsInCategoryRequest,\n ListItemsInCategoryRequestPagingMethodOneOf,\n ListItemsInCategoryResponse,\n ListStyle,\n ListTreesRequest,\n ListTreesResponse,\n ListValue,\n LoopAnimation,\n LoopEffect,\n LoopEffectType,\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 Origin,\n PDFSettings,\n Page,\n Pages,\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 PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\n PollDesignBackgroundType,\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 ResponsivenessBehaviour,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n Scaling,\n SearchCategoriesOptions,\n SearchCategoriesRequest,\n SearchCategoriesResponse,\n SearchDetails,\n SeoSchema,\n SetArrangedItemsForMigrationRequest,\n SetArrangedItemsForMigrationResponse,\n SetArrangedItemsOptions,\n SetArrangedItemsRequest,\n SetArrangedItemsResponse,\n Settings,\n ShapeData,\n ShapeDataStyles,\n SingleEntityOpsRequestedFields,\n SketchData,\n SmartBlockCellData,\n SmartBlockData,\n SmartBlockDataType,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n Spoiler,\n SpoilerData,\n Stop,\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 TocData,\n TreeReference,\n Type,\n URI,\n URIs,\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 Variant,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n utils,\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 QuerySpec,\n Query as QuerySdkType,\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';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\nimport { createSearchUtils } from '@wix/sdk-runtime/search-builder-utils';\n\n/**\n * A category for organizing items into a hierarchical structure.\n *\n * Categories can be nested to create a multi-level hierarchy. Each category belongs to a specific category tree, identified by its `treeReference`. Each Wix Stores site has one category tree.\n *\n * > **Note:** Currently, only Wix Stores Catalog (V3) categories are supported. Pass `appNamespace: \"@wix/stores\"` in the `treeReference` for all API calls.\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 directly assigned to this category. Doesn't include items in subcategories.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Plain-text category description.\n *\n * Returned only when you pass `\"DESCRIPTION\"` to the `fields` array.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors.\n *\n * Visibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\n * Setting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n *\n * > **Notes:**\n * > 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n * > 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n * > 3. Default: `true`\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n *\n * Breadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n *\n * Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Information about the category's parent. Top-level categories don't have a parent.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug. A URL-friendly identifier used in the category page address.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @minLength 1\n * @maxLength 300\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 * Reference to the category tree this category belongs to.\n *\n * When working with Wix Stores categories, always pass `appNamespace: \"@wix/stores\"` and `treeKey: null`.\n * @readonly\n */\n treeReference?: TreeReference;\n /**\n * ID of the app responsible for managing items in this category.\n *\n * When set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n *\n * You can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/).\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/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) 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 ancestor categories from the top-level category down to the parent of the current category. 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 * Ancestor category ID.\n * @format GUID\n */\n categoryId?: string;\n /**\n * Ancestor category name.\n * @minLength 1\n * @maxLength 80\n */\n categoryName?: string;\n /**\n * Ancestor category slug.\n * @minLength 1\n * @maxLength 100\n */\n categorySlug?: string;\n}\n\nexport interface ParentCategory {\n /**\n * ID of the parent category.\n *\n * Leave empty or omit to create a top-level category.\n * @format GUID\n */\n _id?: string | null;\n /**\n * Position of this category among its sibling categories within the parent.\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 /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n /** Data for a smart block node. */\n smartBlockData?: SmartBlockData;\n /** Data for a smart block cell node. */\n smartBlockCellData?: SmartBlockCellData;\n /** Data for a checkbox list node. */\n checkboxListData?: CheckboxListData;\n /** Data for a list item node. */\n listItemData?: ListItemNodeData;\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 /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Data for a card node. */\n cardData?: CardData;\n /** Data for a table of contents node. */\n tocData?: TocData;\n /** Data for a smart block node. */\n smartBlockData?: SmartBlockData;\n /** Data for a smart block cell node. */\n smartBlockCellData?: SmartBlockCellData;\n /** Data for a checkbox list node. */\n checkboxListData?: CheckboxListData;\n /** Data for a list item node. */\n listItemData?: ListItemNodeData;\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 SHAPE = 'SHAPE',\n CARD = 'CARD',\n TOC = 'TOC',\n SMART_BLOCK = 'SMART_BLOCK',\n SMART_BLOCK_CELL = 'SMART_BLOCK_CELL',\n CHECKBOX_LIST = 'CHECKBOX_LIST',\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 | 'SHAPE'\n | 'CARD'\n | 'TOC'\n | 'SMART_BLOCK'\n | 'SMART_BLOCK_CELL'\n | 'CHECKBOX_LIST';\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 /** Node animation. */\n animation?: Animation;\n}\n\n/** Background type */\nexport enum BackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals = BackgroundType | 'COLOR' | 'GRADIENT';\n\nexport interface Gradient {\n /** Gradient type. */\n type?: GradientTypeWithLiterals;\n /**\n * Color stops for the gradient.\n * @maxSize 1000\n */\n stops?: Stop[];\n /** Angle in degrees for linear gradient (0-360). */\n angle?: number | null;\n /**\n * Horizontal center position for radial gradient (0-100).\n * @max 100\n */\n centerX?: number | null;\n /**\n * Vertical center position for radial gradient (0-100).\n * @max 100\n */\n centerY?: number | null;\n}\n\n/** Gradient type. */\nexport enum GradientType {\n /** Linear gradient. */\n LINEAR = 'LINEAR',\n /** Radial gradient. */\n RADIAL = 'RADIAL',\n}\n\n/** @enumType */\nexport type GradientTypeWithLiterals = GradientType | 'LINEAR' | 'RADIAL';\n\n/** A single color stop in the gradient. */\nexport interface Stop {\n /**\n * Stop color as hex value.\n * @maxLength 19\n */\n color?: string | null;\n /** Stop position (0-1). */\n position?: number | null;\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\n/** Background styling (color or gradient) */\nexport interface Background {\n /** Background type. */\n type?: BackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\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 * @maxLength 19\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n textColorHover?: string | null;\n /**\n * Deprecated: Use `background` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColor?: string | null;\n /**\n * Deprecated: Use `backgroundHover` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n /** Background styling (color or gradient). */\n background?: Background;\n /** Background styling for hover state (color or gradient). */\n backgroundHover?: Background;\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 Animation {\n /** Animation kind. */\n type?: TypeWithLiterals;\n /** Entrance animation, played once when the node first enters the viewport. */\n entrance?: EntranceAnimation;\n /** Looping animation, repeated indefinitely while the node is on the page. When combined with entrance, the loop starts after the entrance finishes. */\n loop?: LoopAnimation;\n}\n\nexport enum Type {\n /** Animations that play while the node is in view. */\n VIEW = 'VIEW',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'VIEW';\n\nexport interface EntranceAnimation {\n /** The entrance effect to play. */\n effect?: EntranceEffect;\n /** Effect duration in milliseconds. Each effect has its own default. */\n duration?: number | null;\n /** Delay before the effect starts, in milliseconds. */\n delay?: number | null;\n}\n\nexport interface EntranceEffect {\n /** The entrance effect type. */\n type?: EntranceEffectTypeWithLiterals;\n /**\n * Direction the effect enters from. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, the diagonals with or without CENTER, corners, HORIZONTAL/VERTICAL, CLOCKWISE/COUNTER_CLOCKWISE).\n * @maxLength 20\n */\n direction?: string | null;\n /**\n * Clip-path shape: ELLIPSE, CIRCLE, RECTANGLE, or DIAMOND (SHAPE).\n * @maxLength 12\n */\n shape?: string | null;\n /**\n * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it.\n * @maxLength 100\n */\n easing?: string | null;\n}\n\nexport enum EntranceEffectType {\n /** Fades in from fully transparent to fully opaque. */\n FADE = 'FADE',\n /** Enters along a 3D arc path. */\n ARC = 'ARC',\n /** Transitions from blurred to sharp. */\n BLUR = 'BLUR',\n /** Bounces into place with an elastic curve. */\n BOUNCE = 'BOUNCE',\n /** Shrinks down from a larger size. */\n DROP = 'DROP',\n /** Expands from a point, scaling to full size. */\n EXPAND = 'EXPAND',\n /** Flips into view with a 3D rotation. */\n FLIP = 'FLIP',\n /** Drifts gently into place. */\n FLOAT = 'FLOAT',\n /** Unfolds from an edge as if hinged. */\n FOLD = 'FOLD',\n /** Glides in smoothly from off-screen. */\n GLIDE = 'GLIDE',\n /** Progressively revealed by an expanding clip-path. */\n REVEAL = 'REVEAL',\n /** Appears through an expanding geometric clip-path shape. */\n SHAPE = 'SHAPE',\n /** Revealed through shutter-like strips. */\n SHUTTERS = 'SHUTTERS',\n /** Slides in from one side. */\n SLIDE = 'SLIDE',\n /** Spins into view while scaling up. */\n SPIN = 'SPIN',\n /** Tilts in from the side with 3D rotation. */\n TILT = 'TILT',\n /** Rotates into view around a corner pivot. */\n TURN = 'TURN',\n /** Expands from its horizontal or vertical center. */\n WINK = 'WINK',\n}\n\n/** @enumType */\nexport type EntranceEffectTypeWithLiterals =\n | EntranceEffectType\n | 'FADE'\n | 'ARC'\n | 'BLUR'\n | 'BOUNCE'\n | 'DROP'\n | 'EXPAND'\n | 'FLIP'\n | 'FLOAT'\n | 'FOLD'\n | 'GLIDE'\n | 'REVEAL'\n | 'SHAPE'\n | 'SHUTTERS'\n | 'SLIDE'\n | 'SPIN'\n | 'TILT'\n | 'TURN'\n | 'WINK';\n\nexport interface LoopAnimation {\n /** The looping effect to repeat. */\n effect?: LoopEffect;\n /** Duration of a single iteration in milliseconds. Each effect has its own default. */\n duration?: number | null;\n /** Pause between iterations in milliseconds. */\n iterationDelay?: number | null;\n}\n\nexport interface LoopEffect {\n /** The looping effect type. */\n type?: LoopEffectTypeWithLiterals;\n /**\n * Direction of the effect. Allowed values depend on the effect type (e.g. TOP/RIGHT/BOTTOM/LEFT, LEFT/RIGHT, HORIZONTAL/VERTICAL with or without CENTER, CLOCKWISE/COUNTER_CLOCKWISE).\n * @maxLength 20\n */\n direction?: string | null;\n /**\n * Motion style: GENTLE, MODERATE, or INTENSE. Only the effects that expose one accept it.\n * @maxLength 100\n */\n easing?: string | null;\n}\n\nexport enum LoopEffectType {\n /** Bounces up and down in place. */\n BOUNCE = 'BOUNCE',\n /** Scales gently in and out along an axis. */\n BREATHE = 'BREATHE',\n /** Drifts toward one side, then re-enters from the opposite side. */\n CROSS = 'CROSS',\n /** Fades out to fully transparent and back in. */\n FLASH = 'FLASH',\n /** Rotates a full turn around its horizontal or vertical axis. */\n FLIP = 'FLIP',\n /** Folds back and forth around a hinged edge. */\n FOLD = 'FOLD',\n /** Wobbles with a jelly-like skew. */\n JELLO = 'JELLO',\n /** Nudges repeatedly toward a direction. */\n POKE = 'POKE',\n /** Scales up and back down rhythmically. */\n PULSE = 'PULSE',\n /** Stretches and squashes like a rubber band. */\n RUBBER = 'RUBBER',\n /** Rotates continuously around its center. */\n SPIN = 'SPIN',\n /** Swings back and forth around an edge pivot. */\n SWING = 'SWING',\n /** Rocks side to side with an accumulating rotation. */\n WIGGLE = 'WIGGLE',\n}\n\n/** @enumType */\nexport type LoopEffectTypeWithLiterals =\n | LoopEffectType\n | 'BOUNCE'\n | 'BREATHE'\n | 'CROSS'\n | 'FLASH'\n | 'FLIP'\n | 'FOLD'\n | 'JELLO'\n | 'POKE'\n | 'PULSE'\n | 'RUBBER'\n | 'SPIN'\n | 'SWING'\n | 'WIGGLE';\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n /** Node animation. */\n animation?: Animation;\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 /** Visual styling for the divider lines. */\n styles?: DividerDataStyles;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport enum LineCap {\n /** Square line endings. */\n SQUARE = 'SQUARE',\n /** Rounded line endings. */\n ROUND = 'ROUND',\n}\n\n/** @enumType */\nexport type LineCapWithLiterals = LineCap | 'SQUARE' | 'ROUND';\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 DividerDataStyles {\n /**\n * Divider color as a hexadecimal value. An alpha channel controls opacity.\n * @maxLength 19\n */\n color?: string | null;\n /** Divider line ending shape. */\n lineCap?: LineCapWithLiterals;\n /**\n * Line thicknesses in pixels, ordered from first line to last line.\n * @maxSize 10\n */\n lineThickness?: number[];\n /** Visible dash length for dashed dividers, in pixels. The pattern is snapped to a whole number of dashes so that the first and last dash touch the divider's edges - narrower containers show fewer dashes at the same size. */\n dashLength?: number | null;\n /** Visible gap between dashes or dots, in pixels. */\n dashGap?: number | null;\n /** Gap between divider lines in pixels. */\n lineGap?: number | null;\n}\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Rendered heading level for SEO/accessibility, overrides the HTML tag when set. */\n renderedLevel?: number | null;\n /** Node animation. */\n animation?: Animation;\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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\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 /** Node animation. */\n animation?: Animation;\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 /** The WixelWidget ID for AI_WIDGET source nodes. */\n widgetId?: string;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n AI_WIDGET = 'AI_WIDGET',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'HTML'\n | 'ADSENSE'\n | 'AI'\n | 'AI_WIDGET';\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 /** Non-destructive crop rectangle, expressed as fractions (0-1) of the original image. When omitted, the full image is shown. */\n crop?: ImageDataCrop;\n /** Optional shape mask applied to the visible crop. Supported values: CIRCLE, OVAL, STAR, PENTAGON, HEXAGON, TRIANGLE, HEART, RHOMBUS, FLUID, WINDOW. */\n cropShape?: string | null;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @maxLength 19\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 ImageDataCrop {\n /** Left edge of the crop, as a fraction (0-1) of the original image width. */\n x?: number | null;\n /** Top edge of the crop, as a fraction (0-1) of the original image height. */\n y?: number | null;\n /** Visible width of the crop, as a fraction (0-1) of the original image width. */\n width?: number | null;\n /** Visible height of the crop, as a fraction (0-1) of the original image height. */\n height?: number | null;\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 /** Node animation. */\n animation?: Animation;\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @maxLength 19\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @maxLength 19\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @maxLength 19\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 * @maxLength 19\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 PollDesignBackgroundType {\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 PollDesignBackgroundTypeWithLiterals =\n | PollDesignBackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface BackgroundGradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @maxLength 19\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @maxLength 19\n */\n lastColor?: string | null;\n}\n\nexport interface PollDesignBackground\n extends PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @maxLength 19\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n /** Background type. For each option, include the relevant details. */\n type?: PollDesignBackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PollDesignBackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @maxLength 19\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: BackgroundGradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: PollDesignBackground;\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 /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** Data for a hand-drawn sketch annotation decoration. */\n sketchData?: SketchData;\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 /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** Data for a hand-drawn sketch annotation decoration. */\n sketchData?: SketchData;\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 FONT_FAMILY = 'FONT_FAMILY',\n SKETCH = 'SKETCH',\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 | 'FONT_FAMILY'\n | 'SKETCH';\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 /** The kind of entity the mention refers to. Any value is accepted, and it's usually used to mark a mention as a group mention (for example, `group`). When empty, the mention refers to a member. */\n type?: 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 FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface SketchData {\n /** The sketch annotation variant to draw over the text. */\n variant?: VariantWithLiterals;\n /**\n * Annotation color. Defaults to the theme action color.\n * @maxLength 19\n */\n color?: string | null;\n /** Whether the annotation animates on first paint. Defaults to `true`. */\n animate?: boolean | null;\n}\n\nexport enum Variant {\n UNDERLINE = 'UNDERLINE',\n BOX = 'BOX',\n CIRCLE = 'CIRCLE',\n HIGHLIGHT = 'HIGHLIGHT',\n STRIKETHROUGH = 'STRIKETHROUGH',\n CROSSED_OFF = 'CROSSED_OFF',\n}\n\n/** @enumType */\nexport type VariantWithLiterals =\n | Variant\n | 'UNDERLINE'\n | 'BOX'\n | 'CIRCLE'\n | 'HIGHLIGHT'\n | 'STRIKETHROUGH'\n | 'CROSSED_OFF';\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 /** Node animation. */\n animation?: Animation;\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 CardStylesType {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type CardStylesTypeWithLiterals =\n | CardStylesType\n | 'CONTAINED'\n | '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 * @maxLength 19\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @maxLength 19\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @maxLength 19\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 * @maxLength 19\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @maxLength 19\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @maxLength 19\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @maxLength 19\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?: CardStylesTypeWithLiterals;\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 * @maxLength 19\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @maxLength 19\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Table's alternative text. */\n altText?: string | null;\n /** Node animation. */\n animation?: Animation;\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 /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\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 * @maxLength 19\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @maxLength 19\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @maxLength 19\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @maxLength 19\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @maxLength 19\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | 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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\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 /** Node animation. */\n animation?: Animation;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Deprecated: Use `background` instead.\n * @maxLength 19\n * @deprecated\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: LayoutDataBackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Deprecated: Use `backdrop` instead.\n * @maxLength 19\n * @deprecated\n */\n backdropColor?: string | null;\n /** Backdrop image. */\n backdropImage?: LayoutDataBackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n /** Banner configuration. When present, this layout is attached to a document edge (top or bottom). */\n banner?: Banner;\n /** Background styling (color or gradient). */\n background?: LayoutDataBackground;\n /** Backdrop styling (color or gradient). */\n backdrop?: Backdrop;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport enum ImageScalingScaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ImageScalingScalingWithLiterals =\n | ImageScalingScaling\n | 'AUTO'\n | 'CONTAIN'\n | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background styling (color or gradient) */\nexport interface LayoutDataBackground {\n /** Background type. */\n type?: LayoutDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Background type */\nexport enum LayoutDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type LayoutDataBackgroundTypeWithLiterals =\n | LayoutDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\nexport enum Origin {\n /** Banner originated from an image */\n IMAGE = 'IMAGE',\n /** Banner originated from a layout */\n LAYOUT = 'LAYOUT',\n}\n\n/** @enumType */\nexport type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT';\n\nexport enum BannerPosition {\n /** Attached to the top edge (banner) */\n TOP = 'TOP',\n /** Attached to the bottom edge (footer) */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type BannerPositionWithLiterals = BannerPosition | 'TOP' | 'BOTTOM';\n\n/** Backdrop type */\nexport enum BackdropType {\n /** Solid color backdrop */\n COLOR = 'COLOR',\n /** Gradient backdrop */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackdropTypeWithLiterals = BackdropType | 'COLOR' | 'GRADIENT';\n\nexport interface LayoutDataBackgroundImage {\n /** Background image. */\n media?: Media;\n /**\n * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background`/`backdrop` color behind it.\n * @deprecated\n */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ImageScalingScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */\n blur?: number | null;\n /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`/`backdrop`). */\n overlay?: LayoutDataBackground;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface Banner {\n /** Origin of the banner */\n origin?: OriginWithLiterals;\n /** Position of the banner */\n position?: BannerPositionWithLiterals;\n}\n\n/** Backdrop styling (color or gradient) */\nexport interface Backdrop {\n /** Backdrop type. */\n type?: BackdropTypeWithLiterals;\n /**\n * Backdrop color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface CardData {\n /** Background styling (color or gradient). */\n background?: CardDataBackground;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePositionPosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionPositionWithLiterals =\n | ImagePositionPosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\n/** Background styling (color or gradient) */\nexport interface CardDataBackground {\n /** Background type. */\n type?: CardDataBackgroundTypeWithLiterals;\n /**\n * Background color as a hexadecimal value.\n * @maxLength 19\n */\n color?: string | null;\n /** Gradient configuration. */\n gradient?: Gradient;\n}\n\n/** Background type */\nexport enum CardDataBackgroundType {\n /** Solid color background */\n COLOR = 'COLOR',\n /** Gradient background */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type CardDataBackgroundTypeWithLiterals =\n | CardDataBackgroundType\n | 'COLOR'\n | 'GRADIENT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /**\n * Deprecated: use `overlay` instead. Legacy image opacity (0–100) that dimmed the image to reveal the `background` color behind it.\n * @deprecated\n */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionPositionWithLiterals;\n /** Color or gradient drawn on top of the image. When present, this is the authoritative overlay and `opacity` is ignored. Its presence also marks content as authored under the new overlay model (vs. the legacy `opacity`-based dimming on `background`). */\n overlay?: CardDataBackground;\n /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */\n blur?: number | null;\n}\n\nexport interface TocData {\n /** Heading levels included in the table of contents. Default: [1, 2, 3, 4, 5, 6]. */\n includedHeadings?: number[];\n /** List style. Default: PLAIN. */\n listStyle?: ListStyleWithLiterals;\n /** Optional override for the font size in pixels. */\n fontSize?: number | null;\n /** Optional override for the vertical spacing between items in pixels. */\n itemSpacing?: number | null;\n /**\n * Optional override for the text color.\n * @maxLength 19\n */\n color?: string | null;\n /** Indentation style. Default: NESTED. */\n indentation?: IndentationWithLiterals;\n /** Node animation. */\n animation?: Animation;\n}\n\n/** List style. */\nexport enum ListStyle {\n /** No markers (default) */\n PLAIN = 'PLAIN',\n /** Numbered list */\n NUMBERED = 'NUMBERED',\n /** Alphabetic letters */\n LETTERS = 'LETTERS',\n /** Roman numerals */\n ROMAN = 'ROMAN',\n /** Bulleted list */\n BULLETED = 'BULLETED',\n /** Alphabetical index */\n ALPHABETICAL_INDEX = 'ALPHABETICAL_INDEX',\n /** Alphabetical index (compact top-row only) */\n ALPHABETICAL_INDEX_COMPACT = 'ALPHABETICAL_INDEX_COMPACT',\n}\n\n/** @enumType */\nexport type ListStyleWithLiterals =\n | ListStyle\n | 'PLAIN'\n | 'NUMBERED'\n | 'LETTERS'\n | 'ROMAN'\n | 'BULLETED'\n | 'ALPHABETICAL_INDEX'\n | 'ALPHABETICAL_INDEX_COMPACT';\n\n/** Indentation style. */\nexport enum Indentation {\n /** Sub-headings indented under parents (default) */\n NESTED = 'NESTED',\n /** All items at the same level */\n FLAT = 'FLAT',\n}\n\n/** @enumType */\nexport type IndentationWithLiterals = Indentation | 'NESTED' | 'FLAT';\n\n/** Data for a smart block node. */\nexport interface SmartBlockData {\n /** The type of the smart block. */\n type?: SmartBlockDataTypeWithLiterals;\n /** Layout orientation. HORIZONTAL or VERTICAL. Optional for variants with fixed orientation. */\n orientation?: string | null;\n /** Column size controlling cells per row. */\n columnSize?: ColumnSizeWithLiterals;\n /**\n * Border color (for SOLID_JOINED_BOXES variant).\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels (for SOLID_JOINED_BOXES variant). */\n borderWidth?: number | null;\n /** Border radius in pixels (for SOLID_JOINED_BOXES variant). */\n borderRadius?: number | null;\n /** Node animation. */\n animation?: Animation;\n}\n\n/** Layout type of the smart block */\nexport enum SmartBlockDataType {\n /** Grid-based layouts with solid box items containing title, body, and icon/image. */\n SOLID_BOXES = 'SOLID_BOXES',\n /** Numbered boxes. */\n NUMBERED_BOXES = 'NUMBERED_BOXES',\n /** Statistics display with large numbers/values. */\n STATS = 'STATS',\n /** Statistics with circular visual elements. */\n CIRCLE_STATS = 'CIRCLE_STATS',\n /** Staggered/zigzag grid layout with alternating box positions. */\n SOLID_BOXES_ALTERNATING = 'SOLID_BOXES_ALTERNATING',\n /** Grid layout with boxes visually joined (no gaps, shared container border). */\n SOLID_JOINED_BOXES = 'SOLID_JOINED_BOXES',\n /** Transparent cells with only a left side line. */\n SIDE_LINE_TEXT = 'SIDE_LINE_TEXT',\n /** Transparent cells with only a top line. */\n TOP_LINE_TEXT = 'TOP_LINE_TEXT',\n /** Outlined boxes with a numbered/icon circle at the top. */\n OUTLINE_BOXES_WITH_TOP_CIRCLE = 'OUTLINE_BOXES_WITH_TOP_CIRCLE',\n /** Large icon bullets with text content. */\n BIG_BULLETS = 'BIG_BULLETS',\n /** Small dot bullets with text content. */\n SMALL_BULLETS = 'SMALL_BULLETS',\n /** Arrow icon bullets with text content. */\n ARROW_BULLETS = 'ARROW_BULLETS',\n /** Process steps with numbered/icon labels above a horizontal line. */\n PROCESS_STEPS = 'PROCESS_STEPS',\n /** Statistics with bar visual elements. */\n BAR_STATS = 'BAR_STATS',\n /** Timeline layout with numbered chips on a connecting line; cells alternate around the line. */\n TIMELINE = 'TIMELINE',\n /** Timeline layout with plain dot indicators; no numbers or shapes; cells alternate around the line. */\n MINIMAL_TIMELINE = 'MINIMAL_TIMELINE',\n /** Numbered pill-shaped labels (stadium chips) with text content; supports HORIZONTAL (pill on top) and VERTICAL (pill on left) orientations. */\n PILLS = 'PILLS',\n /** Star rating display with stars and a numeric value per cell. */\n STAR_RATING = 'STAR_RATING',\n /** Outlined boxes with decorative quote glyphs at the top-left and bottom-right corners. */\n QUOTE_BOXES = 'QUOTE_BOXES',\n /** Donut/ring with numbered annular-sector segments; cell text labels sit outside the ring. */\n CIRCLE = 'CIRCLE',\n /** Hierarchical pyramid where each cell renders as a horizontal slice (apex at top, base at bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the pyramid. */\n PYRAMID = 'PYRAMID',\n /** Cells render a horizontal bar whose width scales with cell index, creating a staircase pattern; bar carries the cell number or a custom shape. */\n STAIRCASE = 'STAIRCASE',\n /** Hierarchical funnel where each cell renders as a horizontal slice (wide at top, narrowing toward the bottom) with the cell number or shape centered inside; text content sits beside (desktop) or below (mobile) the funnel. */\n VERTICAL_FUNNEL = 'VERTICAL_FUNNEL',\n}\n\n/** @enumType */\nexport type SmartBlockDataTypeWithLiterals =\n | SmartBlockDataType\n | 'SOLID_BOXES'\n | 'NUMBERED_BOXES'\n | 'STATS'\n | 'CIRCLE_STATS'\n | 'SOLID_BOXES_ALTERNATING'\n | 'SOLID_JOINED_BOXES'\n | 'SIDE_LINE_TEXT'\n | 'TOP_LINE_TEXT'\n | 'OUTLINE_BOXES_WITH_TOP_CIRCLE'\n | 'BIG_BULLETS'\n | 'SMALL_BULLETS'\n | 'ARROW_BULLETS'\n | 'PROCESS_STEPS'\n | 'BAR_STATS'\n | 'TIMELINE'\n | 'MINIMAL_TIMELINE'\n | 'PILLS'\n | 'STAR_RATING'\n | 'QUOTE_BOXES'\n | 'CIRCLE'\n | 'PYRAMID'\n | 'STAIRCASE'\n | 'VERTICAL_FUNNEL';\n\n/** Column size controlling how many cells appear per row. */\nexport enum ColumnSize {\n /** Up to 4 cells in a row. */\n SMALL = 'SMALL',\n /** Up to 3 cells in a row (default). */\n MEDIUM = 'MEDIUM',\n /** Up to 2 cells in a row. */\n LARGE = 'LARGE',\n /** 1 cell in a row. */\n EXTRA_LARGE = 'EXTRA_LARGE',\n}\n\n/** @enumType */\nexport type ColumnSizeWithLiterals =\n | ColumnSize\n | 'SMALL'\n | 'MEDIUM'\n | 'LARGE'\n | 'EXTRA_LARGE';\n\n/** Data for a smart block cell node. */\nexport interface SmartBlockCellData {\n /** Optional label text for the cell (e.g., for stats variants). */\n label?: string | null;\n /** Shape file details. */\n shape?: Media;\n /**\n * Border color of the cell.\n * @maxLength 19\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /** The type of the parent smart block (must match parent). */\n type?: SmartBlockDataTypeWithLiterals;\n /**\n * Accent color for non-background variants (e.g., line, bullet, label color).\n * @maxLength 19\n */\n accentColor?: string | null;\n /**\n * Background color for background-based variants (SOLID_BOXES, SOLID_BOXES_ALTERNATING, SOLID_JOINED_BOXES).\n * @maxLength 19\n */\n backgroundColor?: string | null;\n /**\n * Shape fill color as a hexadecimal value.\n * @maxLength 19\n */\n shapeColor?: string | null;\n}\n\nexport interface CheckboxListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** Node animation. */\n animation?: Animation;\n}\n\nexport interface ListItemNodeData {\n /** Checkbox list item state. Defaults to `false`. */\n checked?: boolean | null;\n /** Node animation. */\n animation?: Animation;\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 whose catalog this category tree belongs to.\n *\n * Currently, only `\"@wix/stores\"` is supported.\n * @minLength 4\n * @maxLength 150\n */\n appNamespace?: string;\n /**\n * Key to differentiate between multiple trees managed by the same app.\n *\n * For Wix Stores, pass `null` or omit this field, as each store has only one category 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 /** Invalidate by multiple page ids */\n pages?: Pages;\n /** Invalidate by multiple URI paths */\n uris?: URIs;\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 * Optional caller-provided ID for tracking this invalidation through the system.\n * When set, the corresponding CDN purge completion event will include this ID,\n * allowing you to confirm when the invalidation has fully propagated.\n * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event.\n * @maxLength 256\n */\n correlationId?: string | null;\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 /** Invalidate by multiple page ids */\n pages?: Pages;\n /** Invalidate by multiple URI paths */\n uris?: URIs;\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 Pages {\n /**\n * the msid the pages are on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by multiple Page IDs in a single message\n * @maxSize 100\n * @minLength 1\n */\n pageIds?: string[];\n}\n\nexport interface URIs {\n /**\n * the msid the URIs are on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @maxSize 100\n * @minLength 1\n */\n uriPaths?: 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.\n *\n * For Wix Stores, this is the product ID from the [Catalog V3 Products API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/products-v3/introduction).\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the Wix app providing the catalog.\n *\n * Currently, only Wix Stores is supported. Use `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"` for all Wix Stores products.\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 * The full arrangement after this update.\n * @internal\n * @maxSize 100\n */\n arrangedItems?: ItemReference[];\n /**\n * Items that were in the previous arrangement and are not in the new one.\n * @internal\n * @maxSize 100\n */\n removedItems?: ItemReference[];\n /**\n * The arrangement's revision after this update.\n * @internal\n */\n arrangementRevision?: string;\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 BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type SingleEntityOpsRequestedFieldsWithLiterals =\n | SingleEntityOpsRequestedFields\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\n\nexport interface CreateCategoryResponse {\n /** Created category. */\n category?: Category;\n}\n\nexport interface DuplicateHandleErrorData {\n /**\n * existing category id with provided handle\n * @format GUID\n */\n existingCategoryId?: string;\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 GetCategoryBySlugRequest {\n /**\n * Category slug.\n * @format URL_SLUG\n */\n slug: 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 GetCategoryBySlugResponse {\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 BREADCRUMBS_INFO = 'BREADCRUMBS_INFO',\n DESCRIPTION = 'DESCRIPTION',\n RICH_CONTENT_DESCRIPTION = 'RICH_CONTENT_DESCRIPTION',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'BREADCRUMBS_INFO'\n | 'DESCRIPTION'\n | 'RICH_CONTENT_DESCRIPTION';\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 /** Search criteria including filter, sort, aggregations, and paging options. */\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 /** Filter object for narrowing search results. */\n filter?: Record<string, any> | null;\n /**\n * Array of sort objects specifying result order.\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](https://dev.wix.com/docs/api-reference/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 /** 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 | '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 /** 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 | '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 /** 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 | '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 /** 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 | '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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).\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 * ID of the target parent category. Leave empty or omit to move the category to the top level.\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 FIRST = 'FIRST',\n LAST = 'LAST',\n AFTER = 'AFTER',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'FIRST' | 'LAST' | '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.\n *\n * Visibility cascades to subcategories: setting a parent category to `false` also hides all its subcategories.\n * Setting to `true` fails if any parent category is hidden.\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 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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 the category's manual arrangement for sorting items.\n *\n * When `true`, manually arranged items appear first in their specified order, followed by remaining items sorted by date added (newest first).\n * When `false`, all items are sorted by date added (newest first).\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false`\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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 * IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * IDs of all categories containing this item, including direct categories and all their ancestor categories.\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. */\n item?: ItemReference;\n /**\n * IDs of categories that directly contain this item.\n * @format GUID\n * @maxSize 1000\n */\n directCategoryIds?: string[];\n /**\n * IDs of ancestor categories of the item's direct categories. These categories indirectly contain the item through their subcategories.\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 FIRST = 'FIRST',\n LAST = 'LAST',\n BEFORE = 'BEFORE',\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type MoveItemInCategoryRequestPositionWithLiterals =\n | MoveItemInCategoryRequestPosition\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 in the desired order. The order in this array determines the display order when List Items In Category is called with `useCategoryArrangement: true`.\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 BulkCreateCategoriesForMigrationRequest {\n /**\n * Categories to create.\n * @minSize 1\n * @maxSize 100\n */\n categories?: Category[];\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /** Whether to return the created categories in the response. */\n returnEntity?: boolean;\n /**\n * Fields to include in the response.\n * @maxSize 100\n */\n fields?: SingleEntityOpsRequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateCategoriesForMigrationResponse {\n /** Results of the bulk operation. */\n results?: BulkCategoriesResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkAddItemsToCategoryForMigrationRequest {\n /**\n * Category to add items to.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /**\n * Items to add to the category.\n * @minSize 1\n * @maxSize 1000\n */\n items?: ItemReference[];\n}\n\nexport interface BulkAddItemsToCategoryForMigrationResponse {\n /** Results of item associations. */\n results?: BulkItemsToCategoryResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface SetArrangedItemsForMigrationRequest {\n /**\n * Category ID.\n * @format GUID\n */\n categoryId?: string;\n /** Category tree reference details. */\n treeReference?: TreeReference;\n /**\n * List of items in the desired order.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\nexport interface SetArrangedItemsForMigrationResponse {\n /**\n * List of arranged items.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Published on Greyhound topic \"catalog-rollback-requested\" after the site is handled by the V3 population rollback.\n * Each owning service reacts to this rollback request according to its own policy.\n */\nexport interface CatalogRollbackRequested {\n /**\n * The MetaSite ID of the store whose catalog migration rollback was requested.\n * @format GUID\n */\n metaSiteId?: string;\n /** Whether owner services should clean V3 catalog data as a reaction to this rollback request. */\n cleanData?: boolean;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type 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?: 'DUPLICATE_HANDLE';\n description?: string;\n data?: DuplicateHandleErrorData;\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 CreateCategoryValidationErrors =\n | {\n ruleName?: 'ID_NOT_ALLOWED_IN_REQUEST';\n }\n | {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 UpdateCategoryValidationErrors = {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 BulkUpdateCategoriesValidationErrors = {\n ruleName?: 'INVALID_SLUG_FORMAT';\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface CategoryMovedEnvelope {\n data: CategoryMoved;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a category is moved to a different position or parent category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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/**\n * Triggered when a category is created.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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/**\n * Triggered when a category is deleted.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 are rearranged within a category.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a category is updated.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read categories (PII)\n * @permissionScopeId SCOPE.CATEGORIES.CATEGORY_READ_LIMITED\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 Read v3 catalog (PII)\n * @permissionScopeId SCOPE.STORES.CATALOG_READ_LIMITED\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: CreateCategoryApplicationErrors;\n __validationErrorsType?: CreateCategoryValidationErrors;\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 | `treeReference.appNamespace`,\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 * Retrieves a category by its slug.\n * @param slug - Category slug.\n * @param treeReference - Category tree reference details.\n * @public\n * @documentationMaturity preview\n * @requiredField slug\n * @requiredField treeReference\n * @requiredField treeReference.appNamespace\n * @permissionId CATEGORIES.CATEGORY_READ\n * @applicableIdentity APP\n * @fqn com.wix.categories.api.v1.CategoriesService.GetCategoryBySlug\n */\nexport async function getCategoryBySlug(\n slug: string,\n treeReference: NonNullablePaths<TreeReference, `appNamespace`, 2>,\n options?: GetCategoryBySlugOptions\n): Promise<\n NonNullablePaths<\n GetCategoryBySlugResponse,\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 | `category.treeReference.appNamespace`,\n 7\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 { slug: slug, treeReference: treeReference, fields: options?.fields },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.getCategoryBySlug(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 slug: '$[0]',\n treeReference: '$[1]',\n fields: '$[2].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['slug', 'treeReference', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetCategoryBySlugOptions {\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 | `treeReference.appNamespace`,\n 6\n > & {\n __applicationErrorsType?: UpdateCategoryApplicationErrors;\n __validationErrorsType?: UpdateCategoryValidationErrors;\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 directly assigned to this category. Doesn't include items in subcategories.\n * @readonly\n */\n itemCounter?: number;\n /**\n * Plain-text category description.\n *\n * Returned only when you pass `\"DESCRIPTION\"` to the `fields` array.\n * @minLength 1\n * @maxLength 600\n */\n description?: string | null;\n /**\n * Whether the category is visible to site visitors.\n *\n * Visibility cascades to subcategories: if a parent category's visibility is set to `false`, all its subcategories become hidden as well.\n * Setting a subcategory's visibility to `true` fails if any of its parent categories are hidden.\n *\n * > **Notes:**\n * > 1. Hidden categories and their items are still accessible via API calls. For example, List Items In Category returns items even for hidden categories.\n * > 2. The `visible` field can only be changed using the [Update Category Visibility](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/update-category-visibility) method.\n * > 3. Default: `true`\n * @immutable\n */\n visible?: boolean | null;\n /**\n * Category breadcrumbs, representing the path from the top-level ancestor category down to the parent of the current category.\n *\n * Breadcrumbs are useful for building navigation UI and for SEO purposes. For top-level categories, the breadcrumbs list is empty.\n *\n * Returned only when you pass `\"BREADCRUMBS_INFO\"` to the `fields` array.\n * @readonly\n */\n breadcrumbsInfo?: BreadcrumbsInfo;\n /**\n * Information about the category's parent. Top-level categories don't have a parent.\n * @immutable\n */\n parentCategory?: ParentCategory;\n /**\n * Category slug. A URL-friendly identifier used in the category page address.\n *\n * If not provided, the slug is autogenerated based on the category name.\n * @minLength 1\n * @maxLength 300\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 * Reference to the category tree this category belongs to.\n *\n * When working with Wix Stores categories, always pass `appNamespace: \"@wix/stores\"` and `treeKey: null`.\n * @readonly\n */\n treeReference?: TreeReference;\n /**\n * ID of the app responsible for managing items in this category.\n *\n * When set, only the specified app can add or remove items from this category. This is useful for third-party apps that want to create categories exclusively managed by their app, preventing site owners or other apps from modifying the category's items.\n *\n * You can get your app's ID from the [app dashboard](https://dev.wix.com/dc3/my-apps/).\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/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) 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 *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 | '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 * @hidden\n * @fqn com.wix.categories.api.v1.CategoriesService.QueryCategories\n * @requiredField query\n * @requiredField options\n */\nexport async function typedQueryCategories(\n query: CategoryQuery,\n options: QueryCategoriesOptions\n): Promise<\n NonNullablePaths<\n QueryCategoriesResponse,\n | `categories`\n | `categories.${number}.itemCounter`\n | `categories.${number}.seoData.settings.preventAutoRedirect`\n | `categories.${number}.treeReference.appNamespace`,\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 { query: query, ...options },\n []\n );\n\n const reqOpts = ambassadorWixCategoriesV1Category.queryCategories(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: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CategoryQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_id',\n 'slug',\n 'treeReference.appNamespace',\n 'treeReference.treeKey',\n 'visible'\n ];\n operators: '*';\n sort: 'NONE';\n },\n {\n fields: [\n '_createdDate',\n '_updatedDate',\n 'managingAppId',\n 'name',\n 'parentCategory._id',\n 'parentCategory.index'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Category,\n CategoryQuerySpec\n>;\nexport type CategoryQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object 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?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: {\n ...createQueryUtils<Category, CategoryQuerySpec, CategoryQuery>(),\n },\n search: {\n ...createSearchUtils<Category, CategorySearchSpec, CategorySearch>(),\n },\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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\n * @param search - Search criteria including filter, sort, aggregations, and paging 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 | `categories.${number}.treeReference.appNamespace`\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. \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Array of sort objects specifying result order. \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](https://dev.wix.com/docs/api-reference/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 * @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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).\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 * ID of the target parent category. Leave empty or omit to move the category to the top level.\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 | `results.${number}.category.treeReference.appNamespace`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateCategoriesApplicationErrors;\n __validationErrorsType?: BulkUpdateCategoriesValidationErrors;\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 * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 | `category.treeReference.appNamespace`,\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.\n *\n * Visibility cascades to subcategories: setting a parent category to `false` also hides all its subcategories.\n * Setting to `true` fails if any parent category is hidden.\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 * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 | `results.${number}.category.treeReference.appNamespace`\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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 the category's manual arrangement for sorting items.\n *\n * When `true`, manually arranged items appear first in their specified order, followed by remaining items sorted by date added (newest first).\n * When `false`, all items are sorted by date added (newest first).\n *\n * Default: `false`\n */\n useCategoryArrangement?: boolean;\n /**\n * Whether to include items from subcategories.\n *\n * Default: `false`\n */\n includeItemsFromSubcategories?: boolean;\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-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 the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each 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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 in the desired order. The order in this array determines the display order when List Items In Category is called with `useCategoryArrangement: true`.\n * @maxSize 100\n */\n items?: ItemReference[];\n}\n\n/**\n * Retrieves the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'category.richContentDescription.nodes.imageData.crop.x' },\n { path: 'category.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'category.richContentDescription.nodes.tocData.fontSize' },\n { path: 'category.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategory;\n}\n\n/** Retrieves a category by its slug. */\nexport function getCategoryBySlug(payload: object): RequestOptionsFactory<any> {\n function __getCategoryBySlug({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.categories.v1.category',\n method: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.GetCategoryBySlug',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/slug/{slug}',\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCategoryBySlug;\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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 { path: 'category.richContentDescription.nodes.imageData.crop.x' },\n { path: 'category.richContentDescription.nodes.imageData.crop.y' },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n { path: 'category.richContentDescription.nodes.tocData.fontSize' },\n { path: 'category.richContentDescription.nodes.tocData.itemSpacing' },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategory;\n}\n\n/**\n * Deletes a category.\n *\n * Deleting a category also deletes all of its subcategories. Items that were assigned to the deleted categories remain in the catalog but are no longer associated with those categories.\n */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 * To learn about working with _Query_ methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.richContentDescription.nodes.smartBlockCellData.shape.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 * To learn about working with *Search* methods, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language)\n * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n *\n * Learn more about the differences between [_Query_ and _Search_](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-search-query-and-list-methods) methods.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.richContentDescription.nodes.smartBlockCellData.shape.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/** Counts the number of categories that match the provided filtering. */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'categories.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'categories.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'categories.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'categories.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'categories.category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'results.category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkUpdateCategories;\n}\n\n/**\n * Updates category visibility.\n *\n * Setting visibility to `false` hides the category from site visitors. This also cascades to all subcategories. Hidden categories and their items remain accessible via API.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'category.richContentDescription.nodes.imageData.crop.height',\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 path: 'category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'category.richContentDescription.nodes.smartBlockCellData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCategoryVisibility;\n}\n\n/**\n * Sets visibility to `true` for multiple categories, making them visible to site visitors.\n *\n * Categories with a hidden parent category aren't 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 migrationOptions: {\n optInTransformResponse: true,\n },\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.buttonData.styles.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.buttonData.styles.backgroundHover.gradient.stops.position',\n },\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.imageData.crop.x',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.y',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.width',\n },\n {\n path: 'results.category.richContentDescription.nodes.imageData.crop.height',\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 path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdropImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.layoutData.backdrop.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.shapeData.shape.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.background.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.media.duration',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerX',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.centerY',\n },\n {\n path: 'results.category.richContentDescription.nodes.cardData.backgroundImage.overlay.gradient.stops.position',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.fontSize',\n },\n {\n path: 'results.category.richContentDescription.nodes.tocData.itemSpacing',\n },\n {\n path: 'results.category.richContentDescription.nodes.smartBlockCellData.shape.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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 category.\n *\n *\n * By default, items are sorted by the date they were added to the category, newest first. To use the category's manual arrangement instead, pass `useCategoryArrangement: true`.\n * When `useCategoryArrangement` is `true`, items arranged with [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items) appear first in their specified order, followed by remaining items sorted by date added.\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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListItemsInCategory',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/{categoryId}/list-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItem',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-item',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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/**\n * Retrieves the categories that contain each of the specified items.\n *\n * Returns both directly assigned categories, as well as their parent and ancestor categories for each item.\n */\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: 'GET' as any,\n methodFqn:\n 'com.wix.categories.api.v1.CategoriesService.ListCategoriesForItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixCategoriesApiV1CategoriesServiceUrl({\n protoPath: '/v1/categories/list-categories-for-items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(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 migrationOptions: {\n optInTransformResponse: true,\n },\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 the manual arrangement of items in a category.\n *\n * The order of items in the `items` array determines their display order when L[ist Items In Category](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/list-items-in-category) is called with `useCategoryArrangement: true`. The category's existing arrangement is replaced with the provided list.\n *\n * Limited to 100 items. Items beyond this limit are displayed after the arranged items, sorted by the date they were added.\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 migrationOptions: {\n optInTransformResponse: true,\n },\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/**\n * Retrieves the manually arranged items in a category.\n *\n * Returns only items that have been explicitly arranged using [Set Arranged Items](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/categories/set-arranged-items). Items added to the category but not manually arranged aren't included.\n */\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 migrationOptions: {\n optInTransformResponse: true,\n },\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 getCategoryBySlug as publicGetCategoryBySlug,\n updateCategory as publicUpdateCategory,\n deleteCategory as publicDeleteCategory,\n queryCategories as publicQueryCategories,\n typedQueryCategories as publicTypedQueryCategories,\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 { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n CategoriesQueryBuilder,\n CategoryQuery,\n QueryCategoriesOptions,\n typedQueryCategories as universalTypedQueryCategories,\n} from './categories-v1-category-categories.universal.js';\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\nfunction customQueryCategories(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: (options: QueryCategoriesOptions) =>\n publicQueryCategories(httpClient)(options),\n typedQueryFunction: (\n query: CategoryQuery,\n options: QueryCategoriesOptions\n ) => publicTypedQueryCategories(httpClient)(query, options),\n hasOptionsParameter: true,\n });\n\n function overloadedQuery(\n query: CategoryQuery,\n options: QueryCategoriesOptions\n ): ReturnType<typeof universalTypedQueryCategories>;\n function overloadedQuery(\n options: QueryCategoriesOptions\n ): CategoriesQueryBuilder;\n function overloadedQuery(\n queryOrOptions?: CategoryQuery | QueryCategoriesOptions,\n options?: QueryCategoriesOptions\n ): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\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 getCategoryBySlug: MaybeContext<\n BuildRESTFunction<typeof publicGetCategoryBySlug> &\n typeof publicGetCategoryBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetCategoryBySlug);\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 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);\nexport const queryCategories: MaybeContext<\n BuildRESTFunction<typeof customQueryCategories> & typeof customQueryCategories\n> = /*#__PURE__*/ createRESTModule(customQueryCategories);\n/**\n * Triggered when a category is moved to a different position or parent category.\n */\nexport const onCategoryMoved: BuildEventDefinition<\n typeof publicOnCategoryMoved\n> &\n typeof publicOnCategoryMoved = createEventModule(publicOnCategoryMoved);\n/**\n * Triggered when a category is created.\n */\nexport const onCategoryCreated: BuildEventDefinition<\n typeof publicOnCategoryCreated\n> &\n typeof publicOnCategoryCreated = createEventModule(publicOnCategoryCreated);\n/**\n * Triggered when a category is deleted.\n */\nexport const onCategoryDeleted: BuildEventDefinition<\n typeof publicOnCategoryDeleted\n> &\n typeof publicOnCategoryDeleted = createEventModule(publicOnCategoryDeleted);\n/**\n * Triggered when an item is added to a category.\n */\nexport const onCategoryItemAddedToCategory: BuildEventDefinition<\n typeof publicOnCategoryItemAddedToCategory\n> &\n typeof publicOnCategoryItemAddedToCategory = createEventModule(\n publicOnCategoryItemAddedToCategory\n);\n/**\n * Triggered when an item is removed from a category.\n */\nexport const onCategoryItemRemovedFromCategory: BuildEventDefinition<\n typeof publicOnCategoryItemRemovedFromCategory\n> &\n typeof publicOnCategoryItemRemovedFromCategory = createEventModule(\n publicOnCategoryItemRemovedFromCategory\n);\n/**\n * Triggered when items are rearranged within a category.\n */\nexport const onCategoryItemsArrangedInCategory: BuildEventDefinition<\n typeof publicOnCategoryItemsArrangedInCategory\n> &\n typeof publicOnCategoryItemsArrangedInCategory = createEventModule(\n publicOnCategoryItemsArrangedInCategory\n);\n/**\n * Triggered when a category is updated.\n */\nexport const onCategoryUpdated: BuildEventDefinition<\n typeof publicOnCategoryUpdated\n> &\n typeof publicOnCategoryUpdated = createEventModule(publicOnCategoryUpdated);\n\nexport {\n NodeType,\n BackgroundType,\n GradientType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n Type,\n EntranceEffectType,\n LoopEffectType,\n TextAlignment,\n LineCap,\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 PollDesignBackgroundType,\n DecorationType,\n FontType,\n Variant,\n ImageStylesPosition,\n AspectRatio,\n Resizing,\n Placement,\n CardStylesType,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n ImageScalingScaling,\n ImagePosition,\n LayoutDataBackgroundType,\n Origin,\n BannerPosition,\n BackdropType,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n Scaling,\n ImagePositionPosition,\n CardDataBackgroundType,\n ListStyle,\n Indentation,\n SmartBlockDataType,\n ColumnSize,\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 Gradient,\n Stop,\n Border,\n Colors,\n Background,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n Animation,\n EntranceAnimation,\n EntranceEffect,\n LoopAnimation,\n LoopEffect,\n CodeBlockData,\n TextStyle,\n DividerData,\n DividerDataStyles,\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 ImageDataCrop,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n BackgroundGradient,\n PollDesignBackground,\n PollDesignBackgroundBackgroundOneOf,\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 FontFamilyData,\n SketchData,\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 BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n LayoutDataBackground,\n LayoutDataBackgroundImage,\n Banner,\n Backdrop,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n CardData,\n CardDataBackground,\n BackgroundImage,\n TocData,\n SmartBlockData,\n SmartBlockCellData,\n CheckboxListData,\n ListItemNodeData,\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 Pages,\n URIs,\n CategoryMoved,\n ItemAddedToCategory,\n ItemReference,\n ItemsAddedToCategory,\n ItemRemovedFromCategory,\n ItemsRemovedFromCategory,\n ItemsArrangedInCategory,\n CreateCategoryRequest,\n CreateCategoryResponse,\n DuplicateHandleErrorData,\n GetCategoryRequest,\n GetCategoryResponse,\n GetCategoryBySlugRequest,\n GetCategoryBySlugResponse,\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 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 BulkCreateCategoriesForMigrationRequest,\n BulkCreateCategoriesForMigrationResponse,\n BulkAddItemsToCategoryForMigrationRequest,\n BulkAddItemsToCategoryForMigrationResponse,\n SetArrangedItemsForMigrationRequest,\n SetArrangedItemsForMigrationResponse,\n CatalogRollbackRequested,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n CategoryMovedEnvelope,\n CategoryCreatedEnvelope,\n CategoryDeletedEnvelope,\n CategoryItemAddedToCategoryEnvelope,\n CategoryItemRemovedFromCategoryEnvelope,\n CategoryItemsArrangedInCategoryEnvelope,\n CategoryUpdatedEnvelope,\n CreateCategoryOptions,\n GetCategoryOptions,\n GetCategoryBySlugOptions,\n UpdateCategory,\n UpdateCategoryOptions,\n QueryCategoriesOptions,\n CategoriesQueryResult,\n CategoriesQueryBuilder,\n CategoryQuerySpec,\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 { utils } from './categories-v1-category-categories.universal.js';\nexport {\n NodeTypeWithLiterals,\n BackgroundTypeWithLiterals,\n GradientTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TypeWithLiterals,\n EntranceEffectTypeWithLiterals,\n LoopEffectTypeWithLiterals,\n TextAlignmentWithLiterals,\n LineCapWithLiterals,\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 PollDesignBackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n VariantWithLiterals,\n ImageStylesPositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n CardStylesTypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ImageScalingScalingWithLiterals,\n ImagePositionWithLiterals,\n LayoutDataBackgroundTypeWithLiterals,\n OriginWithLiterals,\n BannerPositionWithLiterals,\n BackdropTypeWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n ScalingWithLiterals,\n ImagePositionPositionWithLiterals,\n CardDataBackgroundTypeWithLiterals,\n ListStyleWithLiterals,\n IndentationWithLiterals,\n SmartBlockDataTypeWithLiterals,\n ColumnSizeWithLiterals,\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 CreateCategoryValidationErrors,\n UpdateCategoryApplicationErrors,\n UpdateCategoryValidationErrors,\n DeleteCategoryApplicationErrors,\n MoveCategoryApplicationErrors,\n BulkUpdateCategoriesApplicationErrors,\n BulkUpdateCategoriesValidationErrors,\n UpdateCategoryVisibilityApplicationErrors,\n BulkAddItemsToCategoryApplicationErrors,\n BulkAddItemToCategoriesApplicationErrors,\n BulkRemoveItemsFromCategoryApplicationErrors,\n BulkRemoveItemFromCategoriesApplicationErrors,\n SetArrangedItemsApplicationErrors,\n BulkSetItemCategoriesApplicationErrors,\n CommonQueryWithEntityContext,\n CategoryQuery,\n CommonSearchWithEntityContext,\n CategorySearch,\n} from './categories-v1-category-categories.universal.js';\n"],"mappings":"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CA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,yDAAyD;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,4DAA4D;AAAA,UACpE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,YAAY,SAA6C;AACvE,WAAS,cAAc,EAAE,KAAK,GAAQ;AACpC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AASO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,uBAAuB;AAAA,UAC/B,EAAE,MAAM,uBAAuB;AAAA,UAC/B,EAAE,MAAM,mCAAmC;AAAA,UAC3C,EAAE,MAAM,4DAA4D;AAAA,UACpE,EAAE,MAAM,4DAA4D;AAAA,QACtE;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,yDAAyD;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,yDAAyD;AAAA,UACjE,EAAE,MAAM,4DAA4D;AAAA,UACpE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAYO,SAAS,gBAAgB,SAA6C;AAC3E,WAAS,kBAAkB,EAAE,KAAK,GAAQ;AACxC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,qCAAqC;AAAA,YAC7C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAA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MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,2CAA2C;AAAA,YACnD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAWO,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,uBAAuB;AAAA,YAC/B,EAAE,MAAM,mCAAmC;AAAA,YAC3C;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,mBACd,SAC4B;AAC5B,WAAS,qBAAqB,EAAE,KAAK,GAAQ;AAC3C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,2CAA2C;AAAA,YACnD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;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AA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,0DAA0D;AAAA,UAClE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAA2B;AACpB,IAAM,oCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAAuC;AAChC,IAAM,wCAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAA2C;AACpC,IAAM,wCAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAA2C;AACpC,IAAM,wBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,6BAA6B;AAAA,UACrC,EAAE,MAAM,6BAA6B;AAAA,UACrC;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,eAAe,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAAA,MACpE;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,uDAAuD;AAAA,UAC/D,EAAE,MAAM,uDAAuD;AAAA,UAC/D;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,uDAAuD;AAAA,UAC/D,EAAE,MAAM,0DAA0D;AAAA,UAClE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAA2B;;;AGx2D3B,IAAAC,uBAAiC;AACjC,sCAAkC;AAOlC,iCAA0C;AAe1C,SAAS,sBAAsB,YAAwB;AACrD,QAAM,aAAS,sDAA0B;AAAA,IACvC,sBAAsB,CAAC,YACrBC,iBAAsB,UAAU,EAAE,OAAO;AAAA,IAC3C,oBAAoB,CAClB,OACA,YACGC,sBAA2B,UAAU,EAAE,OAAO,OAAO;AAAA,IAC1D,qBAAqB;AAAA,EACvB,CAAC;AASD,WAAS,gBACP,gBACA,SACK;AACL,WAAO,OAAO,GAAG,SAAS;AAAA,EAC5B;AAEA,SAAO;AACT;AAEO,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,eAEK,2DAAiBA,YAAiB;AAC7C,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,mBAEK,2DAAiBA,gBAAqB;AACjD,IAAMC,gBAEK,2DAAiBA,aAAkB;AAC9C,IAAMC,wBAGK,2DAAiBA,qBAA0B;AACtD,IAAMC,4BAGK,2DAAiBA,yBAA8B;AAC1D,IAAMC,sBAGK,2DAAiBA,mBAAwB;AACpD,IAAMC,0BAGK,2DAAiBA,uBAA4B;AACxD,IAAMC,2BAGK,2DAAiBA,wBAA6B;AACzD,IAAMC,+BAGK,2DAAiBA,4BAAiC;AAC7D,IAAMC,gCAGK,2DAAiBA,6BAAkC;AAC9D,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,yBAGK,2DAAiBA,sBAA2B;AACvD,IAAMC,0BAGK,2DAAiBA,uBAA4B;AACxD,IAAMC,aAEK,2DAAiBA,UAAe;AAC3C,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAElD,IAAMC,yBAGK,2DAAiBA,sBAA2B;AACvD,IAAMvB,mBAEK,2DAAiB,qBAAqB;AAIjD,IAAMwB,uBAGoB,mDAAkB,eAAqB;AAIjE,IAAMC,yBAGsB,mDAAkB,iBAAuB;AAIrE,IAAMC,yBAGsB,mDAAkB,iBAAuB;AAIrE,IAAMC,qCAGkC;AAAA,EAC7C;AACF;AAIO,IAAMC,yCAGsC;AAAA,EACjD;AACF;AAIO,IAAMC,yCAGsC;AAAA,EACjD;AACF;AAIO,IAAMC,yBAGsB,mDAAkB,iBAAuB;","names":["bulkAddItemToCategories","bulkAddItemsToCategory","bulkRemoveItemFromCategories","bulkRemoveItemsFromCategory","bulkSetItemCategories","bulkShowCategories","bulkUpdateCategories","countCategories","createCategory","deleteCategory","getArrangedItems","getCategory","getCategoryBySlug","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","BackgroundType","GradientType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","Type","EntranceEffectType","LoopEffectType","TextAlignment","LineCap","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","PollDesignBackgroundType","DecorationType","FontType","Variant","ImageStylesPosition","AspectRatio","Resizing","Placement","CardStylesType","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","ImageScalingScaling","ImagePosition","LayoutDataBackgroundType","Origin","BannerPosition","BackdropType","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","Scaling","ImagePositionPosition","CardDataBackgroundType","ListStyle","Indentation","SmartBlockDataType","ColumnSize","SingleEntityOpsRequestedFields","SortOrder","RequestedFields","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","Mode","Position","MoveItemInCategoryRequestPosition","WebhookIdentityType","createCategory","sdkTransformError","getCategory","getCategoryBySlug","updateCategory","deleteCategory","queryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","createCategory","getCategory","getCategoryBySlug","updateCategory","deleteCategory","queryCategories","typedQueryCategories","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","import_rest_modules","queryCategories","typedQueryCategories","createCategory","getCategory","getCategoryBySlug","updateCategory","deleteCategory","searchCategories","countCategories","moveCategory","bulkUpdateCategories","updateCategoryVisibility","bulkShowCategories","bulkAddItemsToCategory","bulkAddItemToCategories","bulkRemoveItemsFromCategory","bulkRemoveItemFromCategories","listItemsInCategory","listCategoriesForItem","listCategoriesForItems","listTrees","setArrangedItems","getArrangedItems","bulkSetItemCategories","onCategoryMoved","onCategoryCreated","onCategoryDeleted","onCategoryItemAddedToCategory","onCategoryItemRemovedFromCategory","onCategoryItemsArrangedInCategory","onCategoryUpdated"]}