{"version":3,"sources":["../../../src/restaurants-catalogs-v3-catalog-catalogs.public.ts","../../../src/restaurants-catalogs-v3-catalog-catalogs.universal.ts","../../../src/restaurants-catalogs-v3-catalog-catalogs.http.ts","../../../src/restaurants-catalogs-v3-catalog-catalogs.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\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  ArchiveMenuIdentifiers,\n  ArchiveMenuResponse,\n  BulkArchiveMenusOptions,\n  BulkArchiveMenusResponse,\n  BulkCreateDishesOptions,\n  BulkCreateDishesResponse,\n  BulkCreateMenusOptions,\n  BulkCreateMenusResponse,\n  BulkCreateSectionsOptions,\n  BulkCreateSectionsResponse,\n  BulkCreateVariationsOptions,\n  BulkCreateVariationsResponse,\n  BulkUnarchiveMenusOptions,\n  BulkUnarchiveMenusResponse,\n  BulkUpdateItemsOptions,\n  BulkUpdateItemsResponse,\n  BulkUpdateMenusOptions,\n  BulkUpdateMenusResponse,\n  BulkUpdateSectionsOptions,\n  BulkUpdateSectionsResponse,\n  CatalogChangedEnvelope,\n  CatalogCreatedEnvelope,\n  CreateDishIdentifiers,\n  CreateDishResponse,\n  CreateDraftCatalogResponse,\n  CreateMenuResponse,\n  CreateSectionIdentifiers,\n  CreateSectionResponse,\n  CreateVariationResponse,\n  GetItemIdentifiers,\n  GetItemOptions,\n  GetItemResponse,\n  GetMenuIdentifiers,\n  GetMenuResponse,\n  GetSectionIdentifiers,\n  GetSectionResponse,\n  Item,\n  ListCatalogsOptions,\n  ListCatalogsResponse,\n  ListItemsOptions,\n  ListItemsResponse,\n  ListMenusOptions,\n  ListMenusResponse,\n  ListSectionsOptions,\n  ListSectionsResponse,\n  Menu,\n  PublishDraftCatalogResponse,\n  Section,\n  UnarchiveMenuIdentifiers,\n  UnarchiveMenuResponse,\n  UpdateItemIdentifiers,\n  UpdateItemOptions,\n  UpdateItemResponse,\n  UpdateMenuIdentifiers,\n  UpdateMenuOptions,\n  UpdateMenuResponse,\n  UpdateSectionIdentifiers,\n  UpdateSectionOptions,\n  UpdateSectionResponse,\n  archiveMenu as universalArchiveMenu,\n  bulkArchiveMenus as universalBulkArchiveMenus,\n  bulkCreateDishes as universalBulkCreateDishes,\n  bulkCreateMenus as universalBulkCreateMenus,\n  bulkCreateSections as universalBulkCreateSections,\n  bulkCreateVariations as universalBulkCreateVariations,\n  bulkUnarchiveMenus as universalBulkUnarchiveMenus,\n  bulkUpdateItems as universalBulkUpdateItems,\n  bulkUpdateMenus as universalBulkUpdateMenus,\n  bulkUpdateSections as universalBulkUpdateSections,\n  createDish as universalCreateDish,\n  createDraftCatalog as universalCreateDraftCatalog,\n  createMenu as universalCreateMenu,\n  createSection as universalCreateSection,\n  createVariation as universalCreateVariation,\n  discardDraftCatalog as universalDiscardDraftCatalog,\n  getItem as universalGetItem,\n  getMenu as universalGetMenu,\n  getSection as universalGetSection,\n  listCatalogs as universalListCatalogs,\n  listItems as universalListItems,\n  listMenus as universalListMenus,\n  listSections as universalListSections,\n  publishDraftCatalog as universalPublishDraftCatalog,\n  unarchiveMenu as universalUnarchiveMenu,\n  updateItem as universalUpdateItem,\n  updateMenu as universalUpdateMenu,\n  updateSection as universalUpdateSection,\n} from './restaurants-catalogs-v3-catalog-catalogs.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/restaurants' };\n\nexport function listCatalogs(httpClient: HttpClient): ListCatalogsSignature {\n  return (options?: ListCatalogsOptions) =>\n    universalListCatalogs(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListCatalogsSignature {\n  /**\n   * Retrieves catalogs, given the provided filtering, sorting and paging.\n   * Note that there is a single catalog per location.\n   * @deprecated\n   */\n  (options?: ListCatalogsOptions): Promise<\n    NonNullablePaths<\n      ListCatalogsResponse,\n      `catalogs` | `catalogs.${number}.archived`,\n      4\n    >\n  >;\n}\n\nexport function getMenu(httpClient: HttpClient): GetMenuSignature {\n  return (\n    identifiers: NonNullablePaths<GetMenuIdentifiers, `catalogId` | `menuId`, 2>\n  ) =>\n    universalGetMenu(\n      identifiers,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetMenuSignature {\n  /**\n   * Retrieves a menu.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<GetMenuIdentifiers, `catalogId` | `menuId`, 2>\n  ): Promise<\n    NonNullablePaths<\n      GetMenuResponse,\n      | `menu.visibilityCriteria.fulfillmentTypes`\n      | `menu.visibilityCriteria.platforms`\n      | `menu.visibilityCriteria.availability.periods`\n      | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `menu.visibilityCriteria.availability.specialHourPeriods`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `menu.sectionIds.values`,\n      7\n    >\n  >;\n}\n\nexport function getSection(httpClient: HttpClient): GetSectionSignature {\n  return (\n    identifiers: NonNullablePaths<\n      GetSectionIdentifiers,\n      `catalogId` | `menuId` | `sectionId`,\n      2\n    >\n  ) =>\n    universalGetSection(\n      identifiers,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetSectionSignature {\n  /**\n   * Retrieves a section.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      GetSectionIdentifiers,\n      `catalogId` | `menuId` | `sectionId`,\n      2\n    >\n  ): Promise<\n    NonNullablePaths<\n      GetSectionResponse,\n      | `section.itemIds.values`\n      | `section.visibilityCriteria.fulfillmentTypes`\n      | `section.visibilityCriteria.platforms`\n      | `section.visibilityCriteria.availability.periods`\n      | `section.visibilityCriteria.availability.periods.${number}.openDay`\n      | `section.visibilityCriteria.availability.periods.${number}.openTime`\n      | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `section.visibilityCriteria.availability.specialHourPeriods`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n      7\n    >\n  >;\n}\n\nexport function updateMenu(httpClient: HttpClient): UpdateMenuSignature {\n  return (\n    identifiers: NonNullablePaths<UpdateMenuIdentifiers, `catalogId`, 2>,\n    options: NonNullablePaths<UpdateMenuOptions, `menu`, 2>\n  ) =>\n    universalUpdateMenu(\n      identifiers,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateMenuSignature {\n  /**\n   * Updates a menu.\n   * You can't update archived menus.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<UpdateMenuIdentifiers, `catalogId`, 2>,\n    options: NonNullablePaths<UpdateMenuOptions, `menu`, 2>\n  ): Promise<\n    NonNullablePaths<\n      UpdateMenuResponse,\n      | `menu.visibilityCriteria.fulfillmentTypes`\n      | `menu.visibilityCriteria.platforms`\n      | `menu.visibilityCriteria.availability.periods`\n      | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `menu.visibilityCriteria.availability.specialHourPeriods`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `menu.sectionIds.values`,\n      7\n    >\n  >;\n}\n\nexport function updateSection(httpClient: HttpClient): UpdateSectionSignature {\n  return (\n    identifiers: NonNullablePaths<\n      UpdateSectionIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >,\n    options: NonNullablePaths<UpdateSectionOptions, `section`, 2>\n  ) =>\n    universalUpdateSection(\n      identifiers,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateSectionSignature {\n  /**\n   * Updates a section.\n   * You can't update archived sections. Note that every section belongs to a single menu, you can't add it to another menu.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      UpdateSectionIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >,\n    options: NonNullablePaths<UpdateSectionOptions, `section`, 2>\n  ): Promise<\n    NonNullablePaths<\n      UpdateSectionResponse,\n      | `section.itemIds.values`\n      | `section.visibilityCriteria.fulfillmentTypes`\n      | `section.visibilityCriteria.platforms`\n      | `section.visibilityCriteria.availability.periods`\n      | `section.visibilityCriteria.availability.periods.${number}.openDay`\n      | `section.visibilityCriteria.availability.periods.${number}.openTime`\n      | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `section.visibilityCriteria.availability.specialHourPeriods`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n      7\n    >\n  >;\n}\n\nexport function listMenus(httpClient: HttpClient): ListMenusSignature {\n  return (catalogId: string, options?: ListMenusOptions) =>\n    universalListMenus(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListMenusSignature {\n  /**\n   * Retrieves menus, given the provided filtering, sorting and paging.\n   * @param - ID of the catalog the menus belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: ListMenusOptions): Promise<\n    NonNullablePaths<ListMenusResponse, `menus`, 2>\n  >;\n}\n\nexport function listSections(httpClient: HttpClient): ListSectionsSignature {\n  return (catalogId: string, options?: ListSectionsOptions) =>\n    universalListSections(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListSectionsSignature {\n  /**\n   * Retrieves sections, given the provided filtering, sorting and paging.\n   * @param - ID of the catalog the sections belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: ListSectionsOptions): Promise<\n    NonNullablePaths<ListSectionsResponse, `sections`, 2>\n  >;\n}\n\nexport function createMenu(httpClient: HttpClient): CreateMenuSignature {\n  return (catalogId: string, menu: Menu) =>\n    universalCreateMenu(\n      catalogId,\n      menu,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateMenuSignature {\n  /**\n   * Creates a menu.\n   * @param - ID of the catalog the menu will belong to.\n   * @param - Menu to create.\n   * @deprecated\n   */\n  (catalogId: string, menu: Menu): Promise<\n    NonNullablePaths<\n      CreateMenuResponse,\n      | `menu.visibilityCriteria.fulfillmentTypes`\n      | `menu.visibilityCriteria.platforms`\n      | `menu.visibilityCriteria.availability.periods`\n      | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `menu.visibilityCriteria.availability.specialHourPeriods`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `menu.sectionIds.values`,\n      7\n    >\n  >;\n}\n\nexport function archiveMenu(httpClient: HttpClient): ArchiveMenuSignature {\n  return (\n    identifiers: NonNullablePaths<\n      ArchiveMenuIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >\n  ) =>\n    universalArchiveMenu(\n      identifiers,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ArchiveMenuSignature {\n  /**\n   * Archives a menu. You can't update archived menus.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      ArchiveMenuIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >\n  ): Promise<\n    NonNullablePaths<\n      ArchiveMenuResponse,\n      | `menu.visibilityCriteria.fulfillmentTypes`\n      | `menu.visibilityCriteria.platforms`\n      | `menu.visibilityCriteria.availability.periods`\n      | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `menu.visibilityCriteria.availability.specialHourPeriods`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `menu.sectionIds.values`,\n      7\n    >\n  >;\n}\n\nexport function unarchiveMenu(httpClient: HttpClient): UnarchiveMenuSignature {\n  return (\n    identifiers: NonNullablePaths<\n      UnarchiveMenuIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >\n  ) =>\n    universalUnarchiveMenu(\n      identifiers,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UnarchiveMenuSignature {\n  /**\n   * Unarchives a menu.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      UnarchiveMenuIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >\n  ): Promise<\n    NonNullablePaths<\n      UnarchiveMenuResponse,\n      | `menu.visibilityCriteria.fulfillmentTypes`\n      | `menu.visibilityCriteria.platforms`\n      | `menu.visibilityCriteria.availability.periods`\n      | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `menu.visibilityCriteria.availability.specialHourPeriods`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `menu.sectionIds.values`,\n      7\n    >\n  >;\n}\n\nexport function createSection(httpClient: HttpClient): CreateSectionSignature {\n  return (\n    identifiers: NonNullablePaths<\n      CreateSectionIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >,\n    section: Section\n  ) =>\n    universalCreateSection(\n      identifiers,\n      section,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateSectionSignature {\n  /**\n   * Creates a section.\n   * You can't add the section to multiple menus, since every section belongs to a single menu.\n   * @param - Section to create.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      CreateSectionIdentifiers,\n      `catalogId` | `menuId`,\n      2\n    >,\n    section: Section\n  ): Promise<\n    NonNullablePaths<\n      CreateSectionResponse,\n      | `section.itemIds.values`\n      | `section.visibilityCriteria.fulfillmentTypes`\n      | `section.visibilityCriteria.platforms`\n      | `section.visibilityCriteria.availability.periods`\n      | `section.visibilityCriteria.availability.periods.${number}.openDay`\n      | `section.visibilityCriteria.availability.periods.${number}.openTime`\n      | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `section.visibilityCriteria.availability.specialHourPeriods`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n      7\n    >\n  >;\n}\n\nexport function getItem(httpClient: HttpClient): GetItemSignature {\n  return (\n    identifiers: NonNullablePaths<\n      GetItemIdentifiers,\n      `catalogId` | `itemId`,\n      2\n    >,\n    options?: GetItemOptions\n  ) =>\n    universalGetItem(\n      identifiers,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetItemSignature {\n  /**\n   * Retrieves an item.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      GetItemIdentifiers,\n      `catalogId` | `itemId`,\n      2\n    >,\n    options?: GetItemOptions\n  ): Promise<\n    NonNullablePaths<\n      GetItemResponse,\n      | `item.price.value`\n      | `item.price.currency`\n      | `item.labels.values`\n      | `item.visibilityCriteria.fulfillmentTypes`\n      | `item.visibilityCriteria.platforms`\n      | `item.visibilityCriteria.availability.periods`\n      | `item.visibilityCriteria.availability.periods.${number}.openDay`\n      | `item.visibilityCriteria.availability.periods.${number}.openTime`\n      | `item.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `item.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `item.visibilityCriteria.availability.specialHourPeriods`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `item.dishOptions.values`\n      | `item.dishOptions.values.${number}.name`\n      | `item.dishOptions.values.${number}.type`\n      | `item.type`,\n      7\n    >\n  >;\n}\n\nexport function listItems(httpClient: HttpClient): ListItemsSignature {\n  return (catalogId: string, options?: ListItemsOptions) =>\n    universalListItems(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListItemsSignature {\n  /**\n   * Retrieves items, given the provided filtering, sorting and paging.\n   * @param - ID of the catalog the items belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: ListItemsOptions): Promise<\n    NonNullablePaths<\n      ListItemsResponse,\n      | `items`\n      | `items.${number}.price.value`\n      | `items.${number}.price.currency`\n      | `items.${number}.type`,\n      5\n    >\n  >;\n}\n\nexport function updateItem(httpClient: HttpClient): UpdateItemSignature {\n  return (\n    identifiers: NonNullablePaths<UpdateItemIdentifiers, `catalogId`, 2>,\n    options: NonNullablePaths<UpdateItemOptions, `item`, 2>\n  ) =>\n    universalUpdateItem(\n      identifiers,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateItemSignature {\n  /**\n   * Updates an item.\n   * You can't update archived items.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<UpdateItemIdentifiers, `catalogId`, 2>,\n    options: NonNullablePaths<UpdateItemOptions, `item`, 2>\n  ): Promise<\n    NonNullablePaths<\n      UpdateItemResponse,\n      | `item.price.value`\n      | `item.price.currency`\n      | `item.labels.values`\n      | `item.visibilityCriteria.fulfillmentTypes`\n      | `item.visibilityCriteria.platforms`\n      | `item.visibilityCriteria.availability.periods`\n      | `item.visibilityCriteria.availability.periods.${number}.openDay`\n      | `item.visibilityCriteria.availability.periods.${number}.openTime`\n      | `item.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `item.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `item.visibilityCriteria.availability.specialHourPeriods`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `item.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `item.dishOptions.values`\n      | `item.dishOptions.values.${number}.name`\n      | `item.dishOptions.values.${number}.type`\n      | `item.type`,\n      7\n    >\n  >;\n}\n\nexport function createDish(httpClient: HttpClient): CreateDishSignature {\n  return (\n    identifiers: NonNullablePaths<\n      CreateDishIdentifiers,\n      `catalogId` | `menuId` | `sectionId`,\n      2\n    >,\n    dish: Item\n  ) =>\n    universalCreateDish(\n      identifiers,\n      dish,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateDishSignature {\n  /**\n   * Creates a dish.\n   * @param - Item of type `dish` to create.\n   * @deprecated\n   */\n  (\n    identifiers: NonNullablePaths<\n      CreateDishIdentifiers,\n      `catalogId` | `menuId` | `sectionId`,\n      2\n    >,\n    dish: Item\n  ): Promise<\n    NonNullablePaths<\n      CreateDishResponse,\n      | `dish.price.value`\n      | `dish.price.currency`\n      | `dish.labels.values`\n      | `dish.visibilityCriteria.fulfillmentTypes`\n      | `dish.visibilityCriteria.platforms`\n      | `dish.visibilityCriteria.availability.periods`\n      | `dish.visibilityCriteria.availability.periods.${number}.openDay`\n      | `dish.visibilityCriteria.availability.periods.${number}.openTime`\n      | `dish.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `dish.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `dish.visibilityCriteria.availability.specialHourPeriods`\n      | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `dish.dishOptions.values`\n      | `dish.dishOptions.values.${number}.name`\n      | `dish.dishOptions.values.${number}.type`\n      | `dish.type`,\n      7\n    >\n  >;\n}\n\nexport function createVariation(\n  httpClient: HttpClient\n): CreateVariationSignature {\n  return (catalogId: string, name: string) =>\n    universalCreateVariation(\n      catalogId,\n      name,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateVariationSignature {\n  /**\n   * Creates a variation.\n   * @param - ID of the catalog the variation will belong to.\n   * @param - Variation name.\n   * @deprecated\n   */\n  (catalogId: string, name: string): Promise<\n    NonNullablePaths<\n      CreateVariationResponse,\n      | `variation.price.value`\n      | `variation.price.currency`\n      | `variation.labels.values`\n      | `variation.visibilityCriteria.fulfillmentTypes`\n      | `variation.visibilityCriteria.platforms`\n      | `variation.visibilityCriteria.availability.periods`\n      | `variation.visibilityCriteria.availability.periods.${number}.openDay`\n      | `variation.visibilityCriteria.availability.periods.${number}.openTime`\n      | `variation.visibilityCriteria.availability.periods.${number}.closeDay`\n      | `variation.visibilityCriteria.availability.periods.${number}.closeTime`\n      | `variation.visibilityCriteria.availability.specialHourPeriods`\n      | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n      | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n      | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n      | `variation.dishOptions.values`\n      | `variation.dishOptions.values.${number}.name`\n      | `variation.dishOptions.values.${number}.type`\n      | `variation.type`,\n      7\n    >\n  >;\n}\n\nexport function createDraftCatalog(\n  httpClient: HttpClient\n): CreateDraftCatalogSignature {\n  return (catalogId: string) =>\n    universalCreateDraftCatalog(\n      catalogId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateDraftCatalogSignature {\n  /**\n   * Creates a draft version of the specified catalog.\n   * Then you can update and publish the draft catalog by using the endpoints in the [Draft Catalogs category](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs).\n   *\n   * > **Note:** You can't create more than one draft catalog per location.\n   * @param - ID of the catalog to create a draft version for.\n   * @deprecated\n   */\n  (catalogId: string): Promise<\n    NonNullablePaths<CreateDraftCatalogResponse, `catalog.archived`, 3>\n  >;\n}\n\nexport function publishDraftCatalog(\n  httpClient: HttpClient\n): PublishDraftCatalogSignature {\n  return (catalogId: string) =>\n    universalPublishDraftCatalog(\n      catalogId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface PublishDraftCatalogSignature {\n  /**\n   * Publishes a draft catalog to the live site by replacing the existing catalog.\n   * @param - ID of the draft catalog to publish.\n   * @deprecated\n   */\n  (catalogId: string): Promise<\n    NonNullablePaths<PublishDraftCatalogResponse, `catalog.archived`, 3>\n  >;\n}\n\nexport function discardDraftCatalog(\n  httpClient: HttpClient\n): DiscardDraftCatalogSignature {\n  return (catalogId: string) =>\n    universalDiscardDraftCatalog(\n      catalogId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DiscardDraftCatalogSignature {\n  /**\n   * Discards a draft catalog. If you want to continue using [Bulk endpoints](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) for this catalog, you must first call the [Create Draft Catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs/create-draft-catalog) endpoint again.\n   * @param - ID of the draft catalog to discard.\n   * @deprecated\n   */\n  (catalogId: string): Promise<void>;\n}\n\nexport function bulkCreateVariations(\n  httpClient: HttpClient\n): BulkCreateVariationsSignature {\n  return (catalogId: string, options?: BulkCreateVariationsOptions) =>\n    universalBulkCreateVariations(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateVariationsSignature {\n  /**\n   * Adds multiple variations to a draft catalog.\n   * @param - ID of the catalog the variations will belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkCreateVariationsOptions): Promise<\n    NonNullablePaths<\n      BulkCreateVariationsResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `results.${number}.entity.price.value`\n      | `results.${number}.entity.price.currency`\n      | `results.${number}.entity.type`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkUpdateItems(\n  httpClient: HttpClient\n): BulkUpdateItemsSignature {\n  return (catalogId: string, options?: BulkUpdateItemsOptions) =>\n    universalBulkUpdateItems(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateItemsSignature {\n  /**\n   * Updates multiple items in a draft catalog.\n   * You can't update archived items.\n   * @param - ID of the catalog the items belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkUpdateItemsOptions): Promise<\n    NonNullablePaths<\n      BulkUpdateItemsResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `results.${number}.entity.price.value`\n      | `results.${number}.entity.price.currency`\n      | `results.${number}.entity.type`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkCreateDishes(\n  httpClient: HttpClient\n): BulkCreateDishesSignature {\n  return (catalogId: string, options?: BulkCreateDishesOptions) =>\n    universalBulkCreateDishes(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateDishesSignature {\n  /**\n   * Adds multiple dishes to a draft catalog.\n   * @param - ID of the catalog the dishes will belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkCreateDishesOptions): Promise<\n    NonNullablePaths<\n      BulkCreateDishesResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `results.${number}.entity.price.value`\n      | `results.${number}.entity.price.currency`\n      | `results.${number}.entity.type`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkCreateMenus(\n  httpClient: HttpClient\n): BulkCreateMenusSignature {\n  return (catalogId: string, options?: BulkCreateMenusOptions) =>\n    universalBulkCreateMenus(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateMenusSignature {\n  /**\n   * Adds multiple menus to a draft catalog.\n   * @param - ID of the catalog the menus will belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkCreateMenusOptions): Promise<\n    NonNullablePaths<\n      BulkCreateMenusResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkUpdateMenus(\n  httpClient: HttpClient\n): BulkUpdateMenusSignature {\n  return (catalogId: string, options?: BulkUpdateMenusOptions) =>\n    universalBulkUpdateMenus(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateMenusSignature {\n  /**\n   * Updates multiple menus in a draft catalog.\n   * You can't update archived menus.\n   * @param - ID of the catalog the menus belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkUpdateMenusOptions): Promise<\n    NonNullablePaths<\n      BulkUpdateMenusResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkCreateSections(\n  httpClient: HttpClient\n): BulkCreateSectionsSignature {\n  return (catalogId: string, options?: BulkCreateSectionsOptions) =>\n    universalBulkCreateSections(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkCreateSectionsSignature {\n  /**\n   * Adds multiple sections to a draft catalog.\n   * @param - ID of the catalog the sections will belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkCreateSectionsOptions): Promise<\n    NonNullablePaths<\n      BulkCreateSectionsResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkUpdateSections(\n  httpClient: HttpClient\n): BulkUpdateSectionsSignature {\n  return (catalogId: string, options?: BulkUpdateSectionsOptions) =>\n    universalBulkUpdateSections(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateSectionsSignature {\n  /**\n   * Updates multiple sections in a draft catalog.\n   * You can't update archived sections.\n   * @param - ID of the catalog the sections belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkUpdateSectionsOptions): Promise<\n    NonNullablePaths<\n      BulkUpdateSectionsResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkArchiveMenus(\n  httpClient: HttpClient\n): BulkArchiveMenusSignature {\n  return (catalogId: string, options?: BulkArchiveMenusOptions) =>\n    universalBulkArchiveMenus(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkArchiveMenusSignature {\n  /**\n   * Changes the `archived` boolean to `true` for multiple menus in a draft catalog.\n   * @param - ID of the catalog the menus belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkArchiveMenusOptions): Promise<\n    NonNullablePaths<\n      BulkArchiveMenusResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport function bulkUnarchiveMenus(\n  httpClient: HttpClient\n): BulkUnarchiveMenusSignature {\n  return (catalogId: string, options?: BulkUnarchiveMenusOptions) =>\n    universalBulkUnarchiveMenus(\n      catalogId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUnarchiveMenusSignature {\n  /**\n   * Changes the `archived` boolean to `false` for multiple menus in a draft catalog.\n   * @param - ID of the catalog the menus belong to.\n   * @deprecated\n   */\n  (catalogId: string, options?: BulkUnarchiveMenusOptions): Promise<\n    NonNullablePaths<\n      BulkUnarchiveMenusResponse,\n      | `results`\n      | `results.${number}.entityMetadata.originalIndex`\n      | `results.${number}.entityMetadata.success`\n      | `results.${number}.entityMetadata.error.code`\n      | `results.${number}.entityMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    >\n  >;\n}\n\nexport const onCatalogChanged = EventDefinition(\n  'wix.restaurants.catalogs.v3.catalog_catalog_changed',\n  true,\n  (event: CatalogChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'data.catalog.draftPublishedDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n      ])\n    )\n)<CatalogChangedEnvelope>();\nexport const onCatalogCreated = EventDefinition(\n  'wix.restaurants.catalogs.v3.catalog_created',\n  true,\n  (event: CatalogCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.draftPublishedDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n      ])\n    )\n)<CatalogCreatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  App,\n  ApplicationError,\n  ArchiveMenuIdentifiers,\n  ArchiveMenuRequest,\n  ArchiveMenuResponse,\n  ArchiveSectionRequest,\n  ArchiveSectionResponse,\n  Availability,\n  BaseEventMetadata,\n  BulkActionMetadata,\n  BulkArchiveMenusOptions,\n  BulkArchiveMenusRequest,\n  BulkArchiveMenusResponse,\n  BulkCreateDishesOptions,\n  BulkCreateDishesRequest,\n  BulkCreateDishesResponse,\n  BulkCreateMenusOptions,\n  BulkCreateMenusRequest,\n  BulkCreateMenusResponse,\n  BulkCreateSectionsOptions,\n  BulkCreateSectionsRequest,\n  BulkCreateSectionsResponse,\n  BulkCreateVariationsOptions,\n  BulkCreateVariationsRequest,\n  BulkCreateVariationsResponse,\n  BulkItemResult,\n  BulkMenuResult,\n  BulkSectionResult,\n  BulkUnarchiveMenusOptions,\n  BulkUnarchiveMenusRequest,\n  BulkUnarchiveMenusResponse,\n  BulkUpdateItemsOptions,\n  BulkUpdateItemsRequest,\n  BulkUpdateItemsResponse,\n  BulkUpdateMenusOptions,\n  BulkUpdateMenusRequest,\n  BulkUpdateMenusResponse,\n  BulkUpdateSectionsOptions,\n  BulkUpdateSectionsRequest,\n  BulkUpdateSectionsResponse,\n  Catalog,\n  CatalogChanged,\n  CatalogChangedEnvelope,\n  CatalogCreatedEnvelope,\n  CatalogUpdated,\n  Coupon,\n  CreateDishIdentifiers,\n  CreateDishRequest,\n  CreateDishResponse,\n  CreateDraftCatalogRequest,\n  CreateDraftCatalogResponse,\n  CreateMenuRequest,\n  CreateMenuResponse,\n  CreateSectionIdentifiers,\n  CreateSectionRequest,\n  CreateSectionResponse,\n  CreateVariationRequest,\n  CreateVariationResponse,\n  CustomTag,\n  DayOfWeek,\n  Deselection,\n  DiscardDraftCatalogRequest,\n  DiscardDraftCatalogResponse,\n  Discount,\n  DiscountApplyToFilterOneOf,\n  DiscountCondition,\n  DiscountPlatform,\n  DiscountType,\n  DiscountValueOneOf,\n  DishOption,\n  DishOptionItem,\n  DishOptionMethodOneOf,\n  DishOptions,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  Extras,\n  File,\n  FulfillmentType,\n  GetItemIdentifiers,\n  GetItemOptions,\n  GetItemRequest,\n  GetItemResponse,\n  GetMenuIdentifiers,\n  GetMenuRequest,\n  GetMenuResponse,\n  GetSectionIdentifiers,\n  GetSectionRequest,\n  GetSectionResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  IndexCacheCmd,\n  InvalidateCache,\n  InvalidateCacheGetByOneOf,\n  Item,\n  ItemIds,\n  ItemMetadata,\n  ItemType,\n  Labels,\n  ListCatalogsOptions,\n  ListCatalogsRequest,\n  ListCatalogsResponse,\n  ListItemsOptions,\n  ListItemsRequest,\n  ListItemsResponse,\n  ListMenusOptions,\n  ListMenusRequest,\n  ListMenusResponse,\n  ListSectionsOptions,\n  ListSectionsRequest,\n  ListSectionsResponse,\n  Menu,\n  MenuSectionIds,\n  MenuUpdated,\n  MessageEnvelope,\n  Money,\n  NewVariation,\n  Page,\n  Pages,\n  Paging,\n  Platform,\n  PublishCatalogUpdated,\n  PublishDraftCatalogRequest,\n  PublishDraftCatalogResponse,\n  RemoveDishFromSectionRequest,\n  RemoveDishFromSectionResponse,\n  RestoreInfo,\n  Section,\n  SectionIds,\n  SectionItemIds,\n  Selection,\n  SortOrder,\n  Sorting,\n  SpecialHourPeriod,\n  TimePeriod,\n  Type,\n  URI,\n  URIs,\n  UnarchiveMenuIdentifiers,\n  UnarchiveMenuRequest,\n  UnarchiveMenuResponse,\n  UpdateItemIdentifiers,\n  UpdateItemOptions,\n  UpdateItemRequest,\n  UpdateItemResponse,\n  UpdateMenuIdentifiers,\n  UpdateMenuOptions,\n  UpdateMenuRequest,\n  UpdateMenuResponse,\n  UpdateSectionIdentifiers,\n  UpdateSectionOptions,\n  UpdateSectionRequest,\n  UpdateSectionResponse,\n  V3CreateDishRequest,\n  V3CreateSectionRequest,\n  V3UpdateSectionRequest,\n  VisibilityCriteria,\n  WebhookIdentityType,\n} from './restaurants-catalogs-v3-catalog-catalogs.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixRestaurantsCatalogsV3Catalog from './restaurants-catalogs-v3-catalog-catalogs.http.js';\n\n/**\n * Collection of menus and discounts available in a specific location.\n * Use a [draft catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) to publish multiple changes to a catalog at the same time.\n * You can read more about catalogs in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n */\nexport interface Catalog {\n  /**\n   * Catalog ID.\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.\n   * @readonly\n   * @format GUID\n   */\n  locationId?: string | null;\n  /**\n   * Whether the catalog is archived.\n   * __Note:__ Archived catalogs can't be updated.\n   * @readonly\n   */\n  archived?: boolean;\n  /**\n   * Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n   * @readonly\n   */\n  draftPublishedDate?: Date | null;\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 CatalogUpdated {\n  /** @format GUID */\n  metaSiteId?: string;\n  /** @format GUID */\n  locationId?: string | null;\n  /** @format GUID */\n  catalogId?: string | null;\n  archived?: boolean;\n  catalogItems?: Item[];\n  catalogSections?: Section[];\n  catalogMenus?: Menu[];\n  catalogDiscounts?: Discount[];\n}\n\n/**\n * Anything that customers can buy in the restaurant. Items can be of type `DISH` or `VARIATION`.\n * You can read more about items in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n */\nexport interface Item {\n  /**\n   * Item ID.\n   * @readonly\n   */\n  itemId?: string | null;\n  /** Item name. */\n  name?: string | null;\n  /** Item description. */\n  description?: string | null;\n  /** Item price. */\n  price?: Money;\n  /** URL of the item's image file. */\n  imageUrl?: string | null;\n  /** Item labels. For example spicy, hot, vegan, gluten-free, or organic. */\n  labels?: Labels;\n  /** Whether the item is in stock. */\n  inStock?: boolean | null;\n  /**\n   * Tax rate of the item in percent.\n   * @decimalValue options { maxScale:3 }\n   */\n  taxRate?: string | null;\n  /**\n   * Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\n   * @readonly\n   */\n  archived?: boolean | null;\n  /**\n   * Visibility criteria that must be met for the item to appear in the live site.\n   * In case of multiple visibility criteria, every criterion must be fulfilled.\n   */\n  visibilityCriteria?: VisibilityCriteria;\n  /** Items customers can choose to modify a dish. Can be an extra, selection, or deselection. */\n  dishOptions?: DishOptions;\n  /** Whether a customer can add a special request when ordering this item. Defaults to `true`. */\n  acceptSpecialRequest?: boolean | null;\n  /**\n   * Item type.\n   * @readonly\n   */\n  type?: ItemTypeWithLiterals;\n}\n\n/**\n * Money.\n * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.\n */\nexport interface Money {\n  /**\n   * Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.\n   * @format DECIMAL_VALUE\n   */\n  value?: string;\n  /**\n   * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n   * @format CURRENCY\n   * @readonly\n   */\n  currency?: string;\n}\n\nexport interface Labels {\n  values?: string[];\n}\n\nexport interface VisibilityCriteria {\n  /**\n   * Whether the entity appears in the live site. Defaults to `true`.\n   * If `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\n   */\n  visible?: boolean | null;\n  /**\n   * Fulfillment types.\n   * @minSize 1\n   * @maxSize 2\n   */\n  fulfillmentTypes?: FulfillmentTypeWithLiterals[];\n  /**\n   * Ordering platforms.\n   * @minSize 1\n   * @maxSize 5\n   */\n  platforms?: PlatformWithLiterals[];\n  /** Time periods when the entity is available. */\n  availability?: Availability;\n}\n\nexport enum FulfillmentType {\n  UNSPECIFIED_FULFILLMENT_TYPE = 'UNSPECIFIED_FULFILLMENT_TYPE',\n  DELIVERY = 'DELIVERY',\n  PICKUP_OR_DINE_IN = 'PICKUP_OR_DINE_IN',\n}\n\n/** @enumType */\nexport type FulfillmentTypeWithLiterals =\n  | FulfillmentType\n  | 'UNSPECIFIED_FULFILLMENT_TYPE'\n  | 'DELIVERY'\n  | 'PICKUP_OR_DINE_IN';\n\nexport enum Platform {\n  UNSPECIFIED_PLATFORM = 'UNSPECIFIED_PLATFORM',\n  SITE = 'SITE',\n  MOBILE_SITE = 'MOBILE_SITE',\n  WIX_APP = 'WIX_APP',\n  CALL_CENTER = 'CALL_CENTER',\n  CHAT_BOT = 'CHAT_BOT',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals =\n  | Platform\n  | 'UNSPECIFIED_PLATFORM'\n  | 'SITE'\n  | 'MOBILE_SITE'\n  | 'WIX_APP'\n  | 'CALL_CENTER'\n  | 'CHAT_BOT';\n\nexport interface Availability {\n  /**\n   * Weekly recurring time periods when the entity is available.\n   * Limited to 100 time periods.\n   */\n  periods?: TimePeriod[];\n  /** Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. */\n  specialHourPeriods?: SpecialHourPeriod[];\n}\n\n/** Weekly recurring time periods when the entity is available. */\nexport interface TimePeriod {\n  /** Day of the week the period starts on. */\n  openDay?: DayOfWeekWithLiterals;\n  /**\n   * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n   * midnight at the end of the specified day.\n   */\n  openTime?: string;\n  /** Day of the week the period ends on. */\n  closeDay?: DayOfWeekWithLiterals;\n  /**\n   * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\n   * midnight at the end of the specified day.\n   * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n   */\n  closeTime?: string;\n}\n\nexport enum DayOfWeek {\n  UNDEFINED = 'UNDEFINED',\n  SUN = 'SUN',\n  MON = 'MON',\n  TUE = 'TUE',\n  WED = 'WED',\n  THU = 'THU',\n  FRI = 'FRI',\n  SAT = 'SAT',\n}\n\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n  | DayOfWeek\n  | 'UNDEFINED'\n  | 'SUN'\n  | 'MON'\n  | 'TUE'\n  | 'WED'\n  | 'THU'\n  | 'FRI'\n  | 'SAT';\n\n/** Exception to the business's regular hours. The business can be open or closed during the exception. */\nexport interface SpecialHourPeriod {\n  /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n  startDate?: string;\n  /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n  endDate?: string;\n  /** Whether the item is available during the exception. Defaults to `true`. */\n  available?: boolean;\n  /** Name of the special hour period. In the dashboard, the special hour period is called event. */\n  eventName?: string | null;\n}\n\nexport interface DishOptions {\n  values?: DishOption[];\n}\n\nexport interface DishOption extends DishOptionMethodOneOf {\n  /** Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish. */\n  selection?: Selection;\n  /** Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish. */\n  extras?: Extras;\n  /** Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish. */\n  deselection?: Deselection;\n  /** Dish option name. */\n  name?: string;\n  /** @readonly */\n  type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DishOptionMethodOneOf {\n  /** Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish. */\n  selection?: Selection;\n  /** Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish. */\n  extras?: Extras;\n  /** Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish. */\n  deselection?: Deselection;\n}\n\nexport interface DishOptionItem {\n  /** Item ID of the dish option. */\n  itemId?: string;\n  /** Dish option price. `0` for free choices that are included in the dish's price. */\n  price?: Money;\n}\n\nexport interface Selection {\n  /** Item ID of the default choice. */\n  defaultChoice?: string | null;\n  /** Item IDs of the available choices. */\n  availableChoices?: DishOptionItem[];\n}\n\nexport interface Extras {\n  /** Item IDs of the default choices. */\n  defaultChoices?: string[];\n  /**\n   * Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.\n   * @max 2147483647\n   */\n  minChoices?: number | null;\n  /**\n   * Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.\n   * @max 2147483647\n   */\n  maxChoices?: number | null;\n  /** Item IDs of the available choices. */\n  availableChoices?: DishOptionItem[];\n}\n\nexport interface Deselection {\n  /** Item IDs of the available choices. */\n  availableChoices?: DishOptionItem[];\n}\n\nexport enum Type {\n  UNSPECIFIED_DISH_OPTION_TYPE = 'UNSPECIFIED_DISH_OPTION_TYPE',\n  SELECTION = 'SELECTION',\n  EXTRAS = 'EXTRAS',\n  DESELECTION = 'DESELECTION',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n  | Type\n  | 'UNSPECIFIED_DISH_OPTION_TYPE'\n  | 'SELECTION'\n  | 'EXTRAS'\n  | 'DESELECTION';\n\nexport enum ItemType {\n  UNSPECIFIED_ITEM_TYPE = 'UNSPECIFIED_ITEM_TYPE',\n  DISH = 'DISH',\n  VARIATION = 'VARIATION',\n}\n\n/** @enumType */\nexport type ItemTypeWithLiterals =\n  | ItemType\n  | 'UNSPECIFIED_ITEM_TYPE'\n  | 'DISH'\n  | 'VARIATION';\n\n/**\n * Collection of dishes that customers can buy in the restaurant.\n * You can read more about sections in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n */\nexport interface Section {\n  /**\n   * Section ID.\n   * @readonly\n   */\n  sectionId?: string | null;\n  /**\n   * ID of the menu the section belongs to.\n   * @readonly\n   */\n  menuId?: string | null;\n  /** Section name. */\n  name?: string | null;\n  /** Section description. */\n  description?: string | null;\n  /** URL of the section's image file. */\n  imageUrl?: string | null;\n  /** IDs of the items that belong to the section. */\n  itemIds?: SectionItemIds;\n  /**\n   * Visibility criteria that must be met for the section to appear in the live site.\n   * In case of multiple visibility criteria, every criterion must be fulfilled.\n   */\n  visibilityCriteria?: VisibilityCriteria;\n  /**\n   * Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\n   * @readonly\n   */\n  archived?: boolean | null;\n}\n\n/** Item IDs of the dishes that belong to this section. */\nexport interface SectionItemIds {\n  values?: string[];\n}\n\n/**\n * Collection of sections that show what customers can buy in the restaurant.\n * You can read more about menus in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n */\nexport interface Menu {\n  /**\n   * Menu ID.\n   * @readonly\n   */\n  menuId?: string | null;\n  /** Menu name. */\n  name?: string | null;\n  /** Menu description. */\n  description?: string | null;\n  /** URL of the menu's image file. */\n  imageUrl?: string | null;\n  /**\n   * Visibility criteria that must be met for the menu to appear in the live site.\n   * In case of multiple visibility criteria, every criterion must be fulfilled.\n   */\n  visibilityCriteria?: VisibilityCriteria;\n  /** IDs of the sections that are included in the menu. */\n  sectionIds?: MenuSectionIds;\n  /**\n   * Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\n   * @readonly\n   */\n  archived?: boolean | null;\n}\n\nexport interface MenuSectionIds {\n  values?: string[];\n}\n\n/**\n * Customers can use a discount to pay less. Can be an amount or a percentage.\n * You can read more about discounts in the [introduction](https://dev.wix.com/api/rest/wix-restaurants/catalogs/introduction).\n */\nexport interface Discount\n  extends DiscountValueOneOf,\n    DiscountApplyToFilterOneOf {\n  /** Discount amount. */\n  amount?: Money;\n  /**\n   * Discount percentage.\n   * @decimalValue options { maxScale:3 }\n   */\n  percentage?: string | null;\n  /** IDs of the sections the discount applies to. */\n  sectionIds?: SectionIds;\n  /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n  itemIds?: ItemIds;\n  /**\n   * Discount ID.\n   * @readonly\n   */\n  _id?: string | null;\n  /** Discount name. */\n  name?: string | null;\n  /** Discount description. */\n  description?: string | null;\n  /** Whether the discount is active. Defaults to `true`. */\n  active?: boolean | null;\n  /** Discount type. */\n  type?: DiscountTypeWithLiterals;\n  /**\n   * Discount condition.\n   * All conditions must be met so that a customer can apply the discount.\n   */\n  condition?: DiscountCondition;\n}\n\n/** @oneof */\nexport interface DiscountValueOneOf {\n  /** Discount amount. */\n  amount?: Money;\n  /**\n   * Discount percentage.\n   * @decimalValue options { maxScale:3 }\n   */\n  percentage?: string | null;\n}\n\n/** @oneof */\nexport interface DiscountApplyToFilterOneOf {\n  /** IDs of the sections the discount applies to. */\n  sectionIds?: SectionIds;\n  /** IDs of the items the discount applies to. **Note:** The items must be of type `dish`. */\n  itemIds?: ItemIds;\n}\n\nexport enum DiscountType {\n  UNSPECIFIED_TYPE = 'UNSPECIFIED_TYPE',\n  OFF_ITEM = 'OFF_ITEM',\n  OFF_ORDER = 'OFF_ORDER',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n  | DiscountType\n  | 'UNSPECIFIED_TYPE'\n  | 'OFF_ITEM'\n  | 'OFF_ORDER';\n\nexport interface SectionIds {\n  values?: string[];\n}\n\nexport interface ItemIds {\n  values?: string[];\n}\n\nexport interface DiscountCondition {\n  /**\n   * Which fulfillment types the discount applies to.\n   * @minSize 1\n   * @maxSize 2\n   */\n  fulfillmentTypes?: FulfillmentTypeWithLiterals[];\n  /**\n   * Which ordering platforms the discount applies to.\n   * @minSize 1\n   * @maxSize 3\n   */\n  platforms?: DiscountPlatformWithLiterals[];\n  /** List of times when the discount is available. */\n  availability?: Availability;\n  /** Minimum order price for the discount. */\n  minOrderPrice?: Money;\n  /**\n   * Coupon associated with the discount.\n   * @readonly\n   */\n  coupon?: Coupon;\n}\n\nexport enum DiscountPlatform {\n  UNSPECIFIED_PLATFORM = 'UNSPECIFIED_PLATFORM',\n  SITE = 'SITE',\n  MOBILE_SITE = 'MOBILE_SITE',\n  CALL_CENTER = 'CALL_CENTER',\n}\n\n/** @enumType */\nexport type DiscountPlatformWithLiterals =\n  | DiscountPlatform\n  | 'UNSPECIFIED_PLATFORM'\n  | 'SITE'\n  | 'MOBILE_SITE'\n  | 'CALL_CENTER';\n\nexport interface Coupon {\n  /**\n   * Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.\n   * @readonly\n   */\n  applied?: boolean | null;\n  /**\n   * Coupon code.\n   * @readonly\n   */\n  code?: string | null;\n}\n\nexport interface PublishCatalogUpdated {\n  /** @format GUID */\n  metaSiteId?: string;\n  /** @format GUID */\n  locationId?: string | null;\n  /** @format GUID */\n  catalogId?: string | null;\n  archived?: boolean;\n}\n\nexport interface IndexCacheCmd {\n  /** @format GUID */\n  catalogId?: string;\n  orgId?: string;\n  orgLocale?: string;\n  /** @format GUID */\n  metaSiteId?: string | null;\n}\n\nexport interface CatalogChanged {\n  /** Changed Catalog. */\n  catalog?: Catalog;\n}\n\nexport interface ListCatalogsRequest {\n  /** Sort order. Defaults to `ASC`. */\n  sort?: Sorting;\n  /** Paging information. `offset` defaults to `0` and `limit` defaults to `50`. The maximum for limit is `1,000`. */\n  paging?: Paging;\n  /** Whether archived catalogs are returned. Defaults to `false`. */\n  archived?: boolean;\n  /**\n   * IDs of the locations for which the catalog will be returned. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.\n   * @format GUID\n   */\n  locationIds?: string[];\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  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n  /** Number of items to load. */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n}\n\nexport interface ListCatalogsResponse {\n  /** Retrieved catalogs. */\n  catalogs?: Catalog[];\n}\n\nexport interface GetMenuRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\nexport interface GetMenuResponse {\n  /** Retrieved menu. */\n  menu?: Menu;\n}\n\nexport interface GetSectionRequest {\n  /**\n   * ID of the catalog the section belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the catalog belongs to. */\n  menuId: string;\n  /** Section ID. */\n  sectionId: string;\n}\n\nexport interface GetSectionResponse {\n  /** Retrieved section. */\n  section?: Section;\n}\n\nexport interface UpdateMenuRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu to update. */\n  menu?: Menu;\n}\n\nexport interface UpdateMenuResponse {\n  /** Updated Menu. */\n  menu?: Menu;\n}\n\nexport interface V3UpdateSectionRequest {\n  /**\n   * ID of the catalog the section belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n  /** Section to update. */\n  section?: Section;\n}\n\nexport interface UpdateSectionResponse {\n  /** Updated section. */\n  section?: Section;\n}\n\nexport interface ListMenusRequest {\n  /**\n   * ID of the catalog the menus belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Field mask path. */\n  fieldMask?: string[];\n  /** Whether archived menus are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\nexport interface ListMenusResponse {\n  /** Retrieved menus. */\n  menus?: Menu[];\n}\n\nexport interface ListSectionsRequest {\n  /**\n   * ID of the catalog the sections belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Field mask path. */\n  fieldMask?: string[];\n  /** Whether archived sections are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\nexport interface ListSectionsResponse {\n  /** Sections list. */\n  sections?: Section[];\n}\n\nexport interface CreateMenuRequest {\n  /**\n   * ID of the catalog the menu will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu to create. */\n  menu: Menu;\n}\n\nexport interface CreateMenuResponse {\n  /** Created Menu. */\n  menu?: Menu;\n}\n\nexport interface ArchiveMenuRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\nexport interface ArchiveMenuResponse {\n  /** Archived menu. */\n  menu?: Menu;\n}\n\nexport interface UnarchiveMenuRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\nexport interface UnarchiveMenuResponse {\n  /** Unarchived menu. */\n  menu?: Menu;\n}\n\nexport interface ArchiveSectionRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId?: string;\n  /** Menu ID. */\n  menuId?: string;\n  /** Section ID. */\n  sectionId?: string;\n}\n\nexport interface ArchiveSectionResponse {\n  /** Archived section. */\n  section?: Section;\n}\n\nexport interface RemoveDishFromSectionRequest {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId?: string;\n  /** Menu ID. */\n  menuId?: string;\n  /** Section ID. */\n  sectionId?: string;\n  /** Item ID. */\n  itemId?: string;\n}\n\nexport interface RemoveDishFromSectionResponse {}\n\nexport interface V3CreateSectionRequest {\n  /**\n   * ID of the catalog the section will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the section will belong to. */\n  menuId: string;\n  /** Section to create. */\n  section: Section;\n}\n\nexport interface CreateSectionResponse {\n  /** Created section. */\n  section?: Section;\n}\n\nexport interface GetItemRequest {\n  /**\n   * ID of the catalog the item belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Item ID. */\n  itemId: string;\n  /** Whether `visibilityCriteria` is returned. Defaults to `false`. */\n  includeVisibilityCriteria?: boolean;\n}\n\nexport interface GetItemResponse {\n  /** Retrieved item. */\n  item?: Item;\n}\n\nexport interface ListItemsRequest {\n  /** Field mask path. */\n  fieldMask?: string[];\n  /**\n   * ID of the catalog the items belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Whether archived items are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\nexport interface ListItemsResponse {\n  /** Retrieved items. */\n  items?: Item[];\n}\n\nexport interface UpdateItemRequest {\n  /**\n   * ID of the catalog the item belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Item to update. */\n  item?: Item;\n}\n\nexport interface UpdateItemResponse {\n  /** Updated Item. */\n  item?: Item;\n}\n\nexport interface V3CreateDishRequest {\n  /**\n   * ID of the catalog the dish will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the dish will belong to. */\n  menuId: string;\n  /** ID of the section the dish will belong to. */\n  sectionId: string;\n  /** Item of type `dish` to create. */\n  dish: Item;\n}\n\nexport interface CreateDishResponse {\n  /** Created Dish. */\n  dish?: Item;\n}\n\nexport interface CreateVariationRequest {\n  /**\n   * ID of the catalog the variation will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Variation name. */\n  name: string;\n}\n\nexport interface CreateVariationResponse {\n  /** Created Variation. */\n  variation?: Item;\n}\n\nexport interface BulkCreateVariationsRequest {\n  /** ID of the catalog the variations will belong to. */\n  catalogId: string;\n  /**\n   * Variations to create. Limited to 20 variations.\n   * @minSize 1\n   * @maxSize 20\n   */\n  variations?: NewVariation[];\n  /** Whether the full variation entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface NewVariation {\n  /**\n   * Variation name.\n   * @minLength 1\n   */\n  name?: string;\n}\n\nexport interface BulkCreateVariationsResponse {\n  /** Information about the created variations. */\n  results?: BulkItemResult[];\n  /** Bulk Create Variations metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkItemResult {\n  /** Metadata of the item. */\n  entityMetadata?: ItemMetadata;\n  /** Item. */\n  entity?: Item;\n}\n\nexport interface ItemMetadata {\n  /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\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 BulkArchiveMenusRequest {\n  /** ID of the catalog the menus belong to. */\n  catalogId: string;\n  /**\n   * IDs of the menus to archive.\n   * @minSize 1\n   * @maxSize 20\n   */\n  ids?: string[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface BulkArchiveMenusResponse {\n  /** Information about the archived menus. */\n  results?: BulkMenuResult[];\n  /** Bulk Archive Menus metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkMenuResult {\n  /** Menu metadata. */\n  entityMetadata?: ItemMetadata;\n  /** Menu. */\n  entity?: Menu;\n}\n\nexport interface MenuUpdated {\n  /** @format GUID */\n  metaSiteId?: string;\n  organizationId?: string;\n  /** @format GUID */\n  locationId?: string | null;\n}\n\nexport interface Empty {}\n\nexport interface BulkCreateDishesRequest {\n  /** ID of the catalog the dishes will belong to. */\n  catalogId: string;\n  /**\n   * Information about the dishes to create. Limited to 20 dishes.\n   * @minSize 1\n   * @maxSize 20\n   */\n  createDishRequests?: CreateDishRequest[];\n  /** Whether the full item entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface CreateDishRequest {\n  /** ID of the menu the dish will belong to. */\n  menuId?: string;\n  /** ID of the section the dish will belong to. */\n  sectionId?: string;\n  /** Dish to create. */\n  dish?: Item;\n}\n\nexport interface BulkCreateDishesResponse {\n  /** Information about the created dishes. */\n  results?: BulkItemResult[];\n  /** Bulk Create Dishes metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkCreateSectionsRequest {\n  /** ID of the catalog the sections will belong to. */\n  catalogId: string;\n  /**\n   * Information about the sections to create. Limited to 20 sections.\n   * @minSize 1\n   * @maxSize 20\n   */\n  createSectionRequests?: CreateSectionRequest[];\n  /** Whether the full section entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface CreateSectionRequest {\n  /** ID of the menu the section will belong to. */\n  menuId?: string;\n  /** Section to create. */\n  section?: Section;\n}\n\nexport interface BulkCreateSectionsResponse {\n  /** Information about the created sections. */\n  results?: BulkSectionResult[];\n  /** Bulk Create Sections metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSectionResult {\n  /** Section metadata. */\n  entityMetadata?: ItemMetadata;\n  /** Section. */\n  entity?: Section;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** 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\nexport interface CreateDraftCatalogRequest {\n  /**\n   * ID of the catalog to create a draft version for.\n   * @format GUID\n   */\n  catalogId: string;\n}\n\nexport interface CreateDraftCatalogResponse {\n  /** Created draft catalog. */\n  catalog?: Catalog;\n}\n\nexport interface PublishDraftCatalogRequest {\n  /**\n   * ID of the draft catalog to publish.\n   * @format GUID\n   */\n  catalogId: string;\n}\n\nexport interface PublishDraftCatalogResponse {\n  /** Published catalog. */\n  catalog?: Catalog;\n}\n\nexport interface DiscardDraftCatalogRequest {\n  /**\n   * ID of the draft catalog to discard.\n   * @format GUID\n   */\n  catalogId: string;\n}\n\nexport interface DiscardDraftCatalogResponse {}\n\nexport interface BulkUpdateItemsRequest {\n  /** ID of the catalog the items belong to. */\n  catalogId: string;\n  /**\n   * Items to update. Limited to 20 items.\n   * @minSize 1\n   * @maxSize 20\n   */\n  items?: Item[];\n  /** Whether the full item entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface BulkUpdateItemsResponse {\n  /** Information about the updated items. */\n  results?: BulkItemResult[];\n  /** Bulk Update Items metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkCreateMenusRequest {\n  /** ID of the catalog the menus will belong to. */\n  catalogId: string;\n  /**\n   * Information about the menus to create. Limited to 20 menus.\n   * @minSize 1\n   * @maxSize 20\n   */\n  menus?: Menu[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface BulkCreateMenusResponse {\n  /** Information about the created menus. */\n  results?: BulkMenuResult[];\n  /** Bulk Create Menus metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateMenusRequest {\n  /** ID of the catalog the menus belong to. */\n  catalogId: string;\n  /**\n   * Menus to update.\n   * @minSize 1\n   * @maxSize 20\n   */\n  menus?: Menu[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface BulkUpdateMenusResponse {\n  /** Information about the updated menus. */\n  results?: BulkMenuResult[];\n  /** Bulk Update Menus metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateSectionsRequest {\n  /** ID of the catalog the sections belong to. */\n  catalogId: string;\n  /**\n   * Information about the sections to update. Limited to 20 sections.\n   * @minSize 1\n   * @maxSize 20\n   */\n  updateSectionsRequests?: UpdateSectionRequest[];\n  /** Whether the full section entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface UpdateSectionRequest {\n  /** ID of the menu the section will belong to. */\n  menuId?: string;\n  /** Section to update. */\n  section?: Section;\n}\n\nexport interface BulkUpdateSectionsResponse {\n  /** Information about the updated sections. */\n  results?: BulkSectionResult[];\n  /** Bulk Update Sections metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUnarchiveMenusRequest {\n  /** ID of the catalog the menus belong to. */\n  catalogId: string;\n  /**\n   * IDs of the menus to unarchive.\n   * @minSize 1\n   * @maxSize 20\n   */\n  ids?: string[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\nexport interface BulkUnarchiveMenusResponse {\n  /** Information about the unarchived menus. */\n  results?: BulkMenuResult[];\n  /** Bulk Unarchive Menus metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\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 CatalogChangedEnvelope {\n  data: CatalogChanged;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a catalog is changed.\n *\n * > __Note:__ The webhook doesn't return information about what has changed. In order to update an external POS upon changes to a Wix Restaurants catalog you may need to create your own logic to identify the changes.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Restaurant Catalogs\n * @permissionScopeId SCOPE.DC-RESTAURANTS.MANAGE-CATALOGS\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope View SEO Settings\n * @permissionScopeId SCOPE.PROMOTE.VIEW-SEO\n * @permissionScope Manage SEO Settings\n * @permissionScopeId SCOPE.PROMOTE.MANAGE-SEO\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Read Restaurant Catalogs\n * @permissionScopeId SCOPE.DC-RESTAURANTS.READ-CATALOGS\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @webhook\n * @eventType wix.restaurants.catalogs.v3.catalog_catalog_changed\n * @serviceIdentifier com.wixpress.restaurants.catalogs.v3.CatalogsApi\n * @slug catalog_changed\n * @documentationMaturity preview\n * @deprecated\n * @replacedBy wix.restaurants.menus.v1.menu_updated\n * @targetRemovalDate 2025-09-30\n */\nexport declare function onCatalogChanged(\n  handler: (event: CatalogChangedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CatalogCreatedEnvelope {\n  entity: Catalog;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a catalog is created.\n *\n * > __Note:__ The webhook doesn't return information about the entities belonging to the catalog. You may need to create your own logic to retrieve the catalog's content.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Restaurant Catalogs\n * @permissionScopeId SCOPE.DC-RESTAURANTS.MANAGE-CATALOGS\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope View SEO Settings\n * @permissionScopeId SCOPE.PROMOTE.VIEW-SEO\n * @permissionScope Manage SEO Settings\n * @permissionScopeId SCOPE.PROMOTE.MANAGE-SEO\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Read Restaurant Catalogs\n * @permissionScopeId SCOPE.DC-RESTAURANTS.READ-CATALOGS\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @webhook\n * @eventType wix.restaurants.catalogs.v3.catalog_created\n * @serviceIdentifier com.wixpress.restaurants.catalogs.v3.CatalogsApi\n * @slug created\n * @documentationMaturity preview\n * @deprecated\n * @replacedBy wix.restaurants.menus.v1.menu_created\n * @targetRemovalDate 2025-09-30\n */\nexport declare function onCatalogCreated(\n  handler: (event: CatalogCreatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves catalogs, given the provided filtering, sorting and paging.\n * Note that there is a single catalog per location.\n * @public\n * @documentationMaturity preview\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListCatalogs\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.ListMenus\n * @targetRemovalDate 2025-09-30\n */\nexport async function listCatalogs(\n  options?: ListCatalogsOptions\n): Promise<\n  NonNullablePaths<\n    ListCatalogsResponse,\n    `catalogs` | `catalogs.${number}.archived`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    sort: options?.sort,\n    paging: options?.paging,\n    archived: options?.archived,\n    locationIds: options?.locationIds,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.listCatalogs(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          sort: '$[0].sort',\n          paging: '$[0].paging',\n          archived: '$[0].archived',\n          locationIds: '$[0].locationIds',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListCatalogsOptions {\n  /** Sort order. Defaults to `ASC`. */\n  sort?: Sorting;\n  /** Paging information. `offset` defaults to `0` and `limit` defaults to `50`. The maximum for limit is `1,000`. */\n  paging?: Paging;\n  /** Whether archived catalogs are returned. Defaults to `false`. */\n  archived?: boolean;\n  /**\n   * IDs of the locations for which the catalog will be returned. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.\n   * @format GUID\n   */\n  locationIds?: string[];\n}\n\n/**\n * Retrieves a menu.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetMenu\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.GetMenu\n * @targetRemovalDate 2025-09-30\n */\nexport async function getMenu(\n  identifiers: NonNullablePaths<GetMenuIdentifiers, `catalogId` | `menuId`, 2>\n): Promise<\n  NonNullablePaths<\n    GetMenuResponse,\n    | `menu.visibilityCriteria.fulfillmentTypes`\n    | `menu.visibilityCriteria.platforms`\n    | `menu.visibilityCriteria.availability.periods`\n    | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `menu.visibilityCriteria.availability.specialHourPeriods`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `menu.sectionIds.values`,\n    7\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.getMenu(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetMenuIdentifiers {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\n/**\n * Retrieves a section.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @requiredField identifiers.sectionId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetSection\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.GetSection\n * @targetRemovalDate 2025-09-30\n */\nexport async function getSection(\n  identifiers: NonNullablePaths<\n    GetSectionIdentifiers,\n    `catalogId` | `menuId` | `sectionId`,\n    2\n  >\n): Promise<\n  NonNullablePaths<\n    GetSectionResponse,\n    | `section.itemIds.values`\n    | `section.visibilityCriteria.fulfillmentTypes`\n    | `section.visibilityCriteria.platforms`\n    | `section.visibilityCriteria.availability.periods`\n    | `section.visibilityCriteria.availability.periods.${number}.openDay`\n    | `section.visibilityCriteria.availability.periods.${number}.openTime`\n    | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `section.visibilityCriteria.availability.specialHourPeriods`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n    7\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n    sectionId: identifiers?.sectionId,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.getSection(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n          sectionId: '$[0].sectionId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetSectionIdentifiers {\n  /**\n   * ID of the catalog the section belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the catalog belongs to. */\n  menuId: string;\n  /** Section ID. */\n  sectionId: string;\n}\n\n/**\n * Updates a menu.\n * You can't update archived menus.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField options\n * @requiredField options.menu\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateMenu\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.GetSection\n * @targetRemovalDate 2025-09-30\n */\nexport async function updateMenu(\n  identifiers: NonNullablePaths<UpdateMenuIdentifiers, `catalogId`, 2>,\n  options: NonNullablePaths<UpdateMenuOptions, `menu`, 2>\n): Promise<\n  NonNullablePaths<\n    UpdateMenuResponse,\n    | `menu.visibilityCriteria.fulfillmentTypes`\n    | `menu.visibilityCriteria.platforms`\n    | `menu.visibilityCriteria.availability.periods`\n    | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `menu.visibilityCriteria.availability.specialHourPeriods`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `menu.sectionIds.values`,\n    7\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    catalogId: identifiers?.catalogId,\n    menu: options?.menu,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.updateMenu(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          catalogId: '$[0].catalogId',\n          menu: '$[1].menu',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateMenuIdentifiers {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n}\n\nexport interface UpdateMenuOptions {\n  /** Menu to update. */\n  menu?: Menu;\n}\n\n/**\n * Updates a section.\n * You can't update archived sections. Note that every section belongs to a single menu, you can't add it to another menu.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @requiredField options\n * @requiredField options.section\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateSection\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.UpdateSection\n * @targetRemovalDate 2025-09-30\n */\nexport async function updateSection(\n  identifiers: NonNullablePaths<\n    UpdateSectionIdentifiers,\n    `catalogId` | `menuId`,\n    2\n  >,\n  options: NonNullablePaths<UpdateSectionOptions, `section`, 2>\n): Promise<\n  NonNullablePaths<\n    UpdateSectionResponse,\n    | `section.itemIds.values`\n    | `section.visibilityCriteria.fulfillmentTypes`\n    | `section.visibilityCriteria.platforms`\n    | `section.visibilityCriteria.availability.periods`\n    | `section.visibilityCriteria.availability.periods.${number}.openDay`\n    | `section.visibilityCriteria.availability.periods.${number}.openTime`\n    | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `section.visibilityCriteria.availability.specialHourPeriods`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n    7\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    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n    section: options?.section,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.updateSection(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n          section: '$[1].section',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateSectionIdentifiers {\n  /**\n   * ID of the catalog the section belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\nexport interface UpdateSectionOptions {\n  /** Section to update. */\n  section?: Section;\n}\n\n/**\n * Retrieves menus, given the provided filtering, sorting and paging.\n * @param catalogId - ID of the catalog the menus belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListMenus\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.ListMenus\n * @targetRemovalDate 2025-09-30\n */\nexport async function listMenus(\n  catalogId: string,\n  options?: ListMenusOptions\n): Promise<NonNullablePaths<ListMenusResponse, `menus`, 2>> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: catalogId,\n    fieldMask: options?.fieldMask,\n    archived: options?.archived,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.listMenus(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          catalogId: '$[0]',\n          fieldMask: '$[1].fieldMask',\n          archived: '$[1].archived',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListMenusOptions {\n  /** Field mask path. */\n  fieldMask?: string[];\n  /** Whether archived menus are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\n/**\n * Retrieves sections, given the provided filtering, sorting and paging.\n * @param catalogId - ID of the catalog the sections belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListSections\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.ListSections\n * @targetRemovalDate 2025-09-30\n */\nexport async function listSections(\n  catalogId: string,\n  options?: ListSectionsOptions\n): Promise<NonNullablePaths<ListSectionsResponse, `sections`, 2>> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: catalogId,\n    fieldMask: options?.fieldMask,\n    archived: options?.archived,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.listSections(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          catalogId: '$[0]',\n          fieldMask: '$[1].fieldMask',\n          archived: '$[1].archived',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListSectionsOptions {\n  /** Field mask path. */\n  fieldMask?: string[];\n  /** Whether archived sections are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\n/**\n * Creates a menu.\n * @param catalogId - ID of the catalog the menu will belong to.\n * @param menu - Menu to create.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @requiredField menu\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateMenu\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.CreateMenu\n * @targetRemovalDate 2025-09-30\n */\nexport async function createMenu(\n  catalogId: string,\n  menu: Menu\n): Promise<\n  NonNullablePaths<\n    CreateMenuResponse,\n    | `menu.visibilityCriteria.fulfillmentTypes`\n    | `menu.visibilityCriteria.platforms`\n    | `menu.visibilityCriteria.availability.periods`\n    | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `menu.visibilityCriteria.availability.specialHourPeriods`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `menu.sectionIds.values`,\n    7\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    catalogId: catalogId,\n    menu: menu,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.createMenu(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: { catalogId: '$[0]', menu: '$[1]' },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'menu']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Archives a menu. You can't update archived menus.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.ArchiveMenu\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function archiveMenu(\n  identifiers: NonNullablePaths<\n    ArchiveMenuIdentifiers,\n    `catalogId` | `menuId`,\n    2\n  >\n): Promise<\n  NonNullablePaths<\n    ArchiveMenuResponse,\n    | `menu.visibilityCriteria.fulfillmentTypes`\n    | `menu.visibilityCriteria.platforms`\n    | `menu.visibilityCriteria.availability.periods`\n    | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `menu.visibilityCriteria.availability.specialHourPeriods`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `menu.sectionIds.values`,\n    7\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.archiveMenu(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ArchiveMenuIdentifiers {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\n/**\n * Unarchives a menu.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.UnarchiveMenu\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function unarchiveMenu(\n  identifiers: NonNullablePaths<\n    UnarchiveMenuIdentifiers,\n    `catalogId` | `menuId`,\n    2\n  >\n): Promise<\n  NonNullablePaths<\n    UnarchiveMenuResponse,\n    | `menu.visibilityCriteria.fulfillmentTypes`\n    | `menu.visibilityCriteria.platforms`\n    | `menu.visibilityCriteria.availability.periods`\n    | `menu.visibilityCriteria.availability.periods.${number}.openDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.openTime`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `menu.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `menu.visibilityCriteria.availability.specialHourPeriods`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `menu.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `menu.sectionIds.values`,\n    7\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.unarchiveMenu(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UnarchiveMenuIdentifiers {\n  /**\n   * ID of the catalog the menu belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Menu ID. */\n  menuId: string;\n}\n\n/**\n * Creates a section.\n * You can't add the section to multiple menus, since every section belongs to a single menu.\n * @param section - Section to create.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @requiredField section\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateSection\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.CreateSection\n * @targetRemovalDate 2025-09-30\n */\nexport async function createSection(\n  identifiers: NonNullablePaths<\n    CreateSectionIdentifiers,\n    `catalogId` | `menuId`,\n    2\n  >,\n  section: Section\n): Promise<\n  NonNullablePaths<\n    CreateSectionResponse,\n    | `section.itemIds.values`\n    | `section.visibilityCriteria.fulfillmentTypes`\n    | `section.visibilityCriteria.platforms`\n    | `section.visibilityCriteria.availability.periods`\n    | `section.visibilityCriteria.availability.periods.${number}.openDay`\n    | `section.visibilityCriteria.availability.periods.${number}.openTime`\n    | `section.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `section.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `section.visibilityCriteria.availability.specialHourPeriods`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `section.visibilityCriteria.availability.specialHourPeriods.${number}.available`,\n    7\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    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n    section: section,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.createSection(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n          section: '$[1]',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'section']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CreateSectionIdentifiers {\n  /**\n   * ID of the catalog the section will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the section will belong to. */\n  menuId: string;\n}\n\n/**\n * Retrieves an item.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.itemId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetItem\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.GetItem\n * @targetRemovalDate 2025-09-30\n */\nexport async function getItem(\n  identifiers: NonNullablePaths<GetItemIdentifiers, `catalogId` | `itemId`, 2>,\n  options?: GetItemOptions\n): Promise<\n  NonNullablePaths<\n    GetItemResponse,\n    | `item.price.value`\n    | `item.price.currency`\n    | `item.labels.values`\n    | `item.visibilityCriteria.fulfillmentTypes`\n    | `item.visibilityCriteria.platforms`\n    | `item.visibilityCriteria.availability.periods`\n    | `item.visibilityCriteria.availability.periods.${number}.openDay`\n    | `item.visibilityCriteria.availability.periods.${number}.openTime`\n    | `item.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `item.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `item.visibilityCriteria.availability.specialHourPeriods`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `item.dishOptions.values`\n    | `item.dishOptions.values.${number}.name`\n    | `item.dishOptions.values.${number}.type`\n    | `item.type`,\n    7\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    catalogId: identifiers?.catalogId,\n    itemId: identifiers?.itemId,\n    includeVisibilityCriteria: options?.includeVisibilityCriteria,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.getItem(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          catalogId: '$[0].catalogId',\n          itemId: '$[0].itemId',\n          includeVisibilityCriteria: '$[1].includeVisibilityCriteria',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetItemIdentifiers {\n  /**\n   * ID of the catalog the item belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** Item ID. */\n  itemId: string;\n}\n\nexport interface GetItemOptions {\n  /** Whether `visibilityCriteria` is returned. Defaults to `false`. */\n  includeVisibilityCriteria?: boolean;\n}\n\n/**\n * Retrieves items, given the provided filtering, sorting and paging.\n * @param catalogId - ID of the catalog the items belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.READ_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListItems\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.ListItems\n * @targetRemovalDate 2025-09-30\n */\nexport async function listItems(\n  catalogId: string,\n  options?: ListItemsOptions\n): Promise<\n  NonNullablePaths<\n    ListItemsResponse,\n    | `items`\n    | `items.${number}.price.value`\n    | `items.${number}.price.currency`\n    | `items.${number}.type`,\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    catalogId: catalogId,\n    fieldMask: options?.fieldMask,\n    archived: options?.archived,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.listItems(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          catalogId: '$[0]',\n          fieldMask: '$[1].fieldMask',\n          archived: '$[1].archived',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListItemsOptions {\n  /** Field mask path. */\n  fieldMask?: string[];\n  /** Whether archived items are returned. Defaults to `false`. */\n  archived?: boolean;\n}\n\n/**\n * Updates an item.\n * You can't update archived items.\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField options\n * @requiredField options.item\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateItem\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.UpdateItem\n * @targetRemovalDate 2025-09-30\n */\nexport async function updateItem(\n  identifiers: NonNullablePaths<UpdateItemIdentifiers, `catalogId`, 2>,\n  options: NonNullablePaths<UpdateItemOptions, `item`, 2>\n): Promise<\n  NonNullablePaths<\n    UpdateItemResponse,\n    | `item.price.value`\n    | `item.price.currency`\n    | `item.labels.values`\n    | `item.visibilityCriteria.fulfillmentTypes`\n    | `item.visibilityCriteria.platforms`\n    | `item.visibilityCriteria.availability.periods`\n    | `item.visibilityCriteria.availability.periods.${number}.openDay`\n    | `item.visibilityCriteria.availability.periods.${number}.openTime`\n    | `item.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `item.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `item.visibilityCriteria.availability.specialHourPeriods`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `item.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `item.dishOptions.values`\n    | `item.dishOptions.values.${number}.name`\n    | `item.dishOptions.values.${number}.type`\n    | `item.type`,\n    7\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    catalogId: identifiers?.catalogId,\n    item: options?.item,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.updateItem(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          catalogId: '$[0].catalogId',\n          item: '$[1].item',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateItemIdentifiers {\n  /**\n   * ID of the catalog the item belongs to.\n   * @format GUID\n   */\n  catalogId: string;\n}\n\nexport interface UpdateItemOptions {\n  /** Item to update. */\n  item?: Item;\n}\n\n/**\n * Creates a dish.\n * @param dish - Item of type `dish` to create.\n * @public\n * @documentationMaturity preview\n * @requiredField dish\n * @requiredField identifiers\n * @requiredField identifiers.catalogId\n * @requiredField identifiers.menuId\n * @requiredField identifiers.sectionId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateDish\n * @deprecated\n * @replacedBy com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CreateItem\n * @targetRemovalDate 2025-09-30\n */\nexport async function createDish(\n  identifiers: NonNullablePaths<\n    CreateDishIdentifiers,\n    `catalogId` | `menuId` | `sectionId`,\n    2\n  >,\n  dish: Item\n): Promise<\n  NonNullablePaths<\n    CreateDishResponse,\n    | `dish.price.value`\n    | `dish.price.currency`\n    | `dish.labels.values`\n    | `dish.visibilityCriteria.fulfillmentTypes`\n    | `dish.visibilityCriteria.platforms`\n    | `dish.visibilityCriteria.availability.periods`\n    | `dish.visibilityCriteria.availability.periods.${number}.openDay`\n    | `dish.visibilityCriteria.availability.periods.${number}.openTime`\n    | `dish.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `dish.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `dish.visibilityCriteria.availability.specialHourPeriods`\n    | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `dish.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `dish.dishOptions.values`\n    | `dish.dishOptions.values.${number}.name`\n    | `dish.dishOptions.values.${number}.type`\n    | `dish.type`,\n    7\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    catalogId: identifiers?.catalogId,\n    menuId: identifiers?.menuId,\n    sectionId: identifiers?.sectionId,\n    dish: dish,\n  });\n\n  const reqOpts = ambassadorWixRestaurantsCatalogsV3Catalog.createDish(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          catalogId: '$[0].catalogId',\n          menuId: '$[0].menuId',\n          sectionId: '$[0].sectionId',\n          dish: '$[1]',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['identifiers', 'dish']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CreateDishIdentifiers {\n  /**\n   * ID of the catalog the dish will belong to.\n   * @format GUID\n   */\n  catalogId: string;\n  /** ID of the menu the dish will belong to. */\n  menuId: string;\n  /** ID of the section the dish will belong to. */\n  sectionId: string;\n}\n\n/**\n * Creates a variation.\n * @param catalogId - ID of the catalog the variation will belong to.\n * @param name - Variation name.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @requiredField name\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateVariation\n * @deprecated\n * @replacedBy wix.restaurants.menus_item_variant.v1.VariantsService.CreateVariant\n * @targetRemovalDate 2025-09-30\n */\nexport async function createVariation(\n  catalogId: string,\n  name: string\n): Promise<\n  NonNullablePaths<\n    CreateVariationResponse,\n    | `variation.price.value`\n    | `variation.price.currency`\n    | `variation.labels.values`\n    | `variation.visibilityCriteria.fulfillmentTypes`\n    | `variation.visibilityCriteria.platforms`\n    | `variation.visibilityCriteria.availability.periods`\n    | `variation.visibilityCriteria.availability.periods.${number}.openDay`\n    | `variation.visibilityCriteria.availability.periods.${number}.openTime`\n    | `variation.visibilityCriteria.availability.periods.${number}.closeDay`\n    | `variation.visibilityCriteria.availability.periods.${number}.closeTime`\n    | `variation.visibilityCriteria.availability.specialHourPeriods`\n    | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.startDate`\n    | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.endDate`\n    | `variation.visibilityCriteria.availability.specialHourPeriods.${number}.available`\n    | `variation.dishOptions.values`\n    | `variation.dishOptions.values.${number}.name`\n    | `variation.dishOptions.values.${number}.type`\n    | `variation.type`,\n    7\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    catalogId: catalogId,\n    name: name,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.createVariation(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: { catalogId: '$[0]', name: '$[1]' },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'name']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates a draft version of the specified catalog.\n * Then you can update and publish the draft catalog by using the endpoints in the [Draft Catalogs category](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs).\n *\n * > **Note:** You can't create more than one draft catalog per location.\n * @param catalogId - ID of the catalog to create a draft version for.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.CreateDraftCatalog\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function createDraftCatalog(\n  catalogId: string\n): Promise<\n  NonNullablePaths<CreateDraftCatalogResponse, `catalog.archived`, 3>\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: catalogId,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.createDraftCatalog(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: { catalogId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Publishes a draft catalog to the live site by replacing the existing catalog.\n * @param catalogId - ID of the draft catalog to publish.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.PublishDraftCatalog\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function publishDraftCatalog(\n  catalogId: string\n): Promise<\n  NonNullablePaths<PublishDraftCatalogResponse, `catalog.archived`, 3>\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: catalogId,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.publishDraftCatalog(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: { catalogId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Discards a draft catalog. If you want to continue using [Bulk endpoints](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) for this catalog, you must first call the [Create Draft Catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs/create-draft-catalog) endpoint again.\n * @param catalogId - ID of the draft catalog to discard.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.DiscardDraftCatalog\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function discardDraftCatalog(catalogId: string): Promise<void> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    catalogId: catalogId,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.discardDraftCatalog(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { catalogId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Adds multiple variations to a draft catalog.\n * @param catalogId - ID of the catalog the variations will belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateVariations\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkCreateVariations(\n  catalogId: string,\n  options?: BulkCreateVariationsOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateVariationsResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\n    | `results.${number}.entity.price.value`\n    | `results.${number}.entity.price.currency`\n    | `results.${number}.entity.type`\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    catalogId: catalogId,\n    variations: options?.variations,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkCreateVariations(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          catalogId: '$[0]',\n          variations: '$[1].variations',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateVariationsOptions {\n  /**\n   * Variations to create. Limited to 20 variations.\n   * @minSize 1\n   * @maxSize 20\n   */\n  variations?: NewVariation[];\n  /** Whether the full variation entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Updates multiple items in a draft catalog.\n * You can't update archived items.\n * @param catalogId - ID of the catalog the items belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateItems\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkUpdateItems(\n  catalogId: string,\n  options?: BulkUpdateItemsOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateItemsResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\n    | `results.${number}.entity.price.value`\n    | `results.${number}.entity.price.currency`\n    | `results.${number}.entity.type`\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    catalogId: catalogId,\n    items: options?.items,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkUpdateItems(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          catalogId: '$[0]',\n          items: '$[1].items',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateItemsOptions {\n  /**\n   * Items to update. Limited to 20 items.\n   * @minSize 1\n   * @maxSize 20\n   */\n  items?: Item[];\n  /** Whether the full item entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Adds multiple dishes to a draft catalog.\n * @param catalogId - ID of the catalog the dishes will belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateDishes\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkCreateDishes(\n  catalogId: string,\n  options?: BulkCreateDishesOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateDishesResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\n    | `results.${number}.entity.price.value`\n    | `results.${number}.entity.price.currency`\n    | `results.${number}.entity.type`\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    catalogId: catalogId,\n    createDishRequests: options?.createDishRequests,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkCreateDishes(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          catalogId: '$[0]',\n          createDishRequests: '$[1].createDishRequests',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateDishesOptions {\n  /**\n   * Information about the dishes to create. Limited to 20 dishes.\n   * @minSize 1\n   * @maxSize 20\n   */\n  createDishRequests?: CreateDishRequest[];\n  /** Whether the full item entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Adds multiple menus to a draft catalog.\n * @param catalogId - ID of the catalog the menus will belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateMenus\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkCreateMenus(\n  catalogId: string,\n  options?: BulkCreateMenusOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateMenusResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    menus: options?.menus,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkCreateMenus(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          catalogId: '$[0]',\n          menus: '$[1].menus',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateMenusOptions {\n  /**\n   * Information about the menus to create. Limited to 20 menus.\n   * @minSize 1\n   * @maxSize 20\n   */\n  menus?: Menu[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Updates multiple menus in a draft catalog.\n * You can't update archived menus.\n * @param catalogId - ID of the catalog the menus belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateMenus\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkUpdateMenus(\n  catalogId: string,\n  options?: BulkUpdateMenusOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateMenusResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    menus: options?.menus,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkUpdateMenus(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          catalogId: '$[0]',\n          menus: '$[1].menus',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateMenusOptions {\n  /**\n   * Menus to update.\n   * @minSize 1\n   * @maxSize 20\n   */\n  menus?: Menu[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Adds multiple sections to a draft catalog.\n * @param catalogId - ID of the catalog the sections will belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateSections\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkCreateSections(\n  catalogId: string,\n  options?: BulkCreateSectionsOptions\n): Promise<\n  NonNullablePaths<\n    BulkCreateSectionsResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    createSectionRequests: options?.createSectionRequests,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkCreateSections(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          catalogId: '$[0]',\n          createSectionRequests: '$[1].createSectionRequests',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkCreateSectionsOptions {\n  /**\n   * Information about the sections to create. Limited to 20 sections.\n   * @minSize 1\n   * @maxSize 20\n   */\n  createSectionRequests?: CreateSectionRequest[];\n  /** Whether the full section entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Updates multiple sections in a draft catalog.\n * You can't update archived sections.\n * @param catalogId - ID of the catalog the sections belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateSections\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkUpdateSections(\n  catalogId: string,\n  options?: BulkUpdateSectionsOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateSectionsResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    updateSectionsRequests: options?.updateSectionsRequests,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkUpdateSections(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          catalogId: '$[0]',\n          updateSectionsRequests: '$[1].updateSectionsRequests',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateSectionsOptions {\n  /**\n   * Information about the sections to update. Limited to 20 sections.\n   * @minSize 1\n   * @maxSize 20\n   */\n  updateSectionsRequests?: UpdateSectionRequest[];\n  /** Whether the full section entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Changes the `archived` boolean to `true` for multiple menus in a draft catalog.\n * @param catalogId - ID of the catalog the menus belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkArchiveMenus\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkArchiveMenus(\n  catalogId: string,\n  options?: BulkArchiveMenusOptions\n): Promise<\n  NonNullablePaths<\n    BulkArchiveMenusResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    ids: options?.ids,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkArchiveMenus(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          catalogId: '$[0]',\n          ids: '$[1].ids',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkArchiveMenusOptions {\n  /**\n   * IDs of the menus to archive.\n   * @minSize 1\n   * @maxSize 20\n   */\n  ids?: string[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n\n/**\n * Changes the `archived` boolean to `false` for multiple menus in a draft catalog.\n * @param catalogId - ID of the catalog the menus belong to.\n * @public\n * @documentationMaturity preview\n * @requiredField catalogId\n * @permissionId WIX_RESTAURANTS.MANAGE_CATALOGS\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUnarchiveMenus\n * @deprecated\n * @targetRemovalDate 2025-09-30\n */\nexport async function bulkUnarchiveMenus(\n  catalogId: string,\n  options?: BulkUnarchiveMenusOptions\n): Promise<\n  NonNullablePaths<\n    BulkUnarchiveMenusResponse,\n    | `results`\n    | `results.${number}.entityMetadata.originalIndex`\n    | `results.${number}.entityMetadata.success`\n    | `results.${number}.entityMetadata.error.code`\n    | `results.${number}.entityMetadata.error.description`\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    catalogId: catalogId,\n    ids: options?.ids,\n    returnFullEntity: options?.returnFullEntity,\n  });\n\n  const reqOpts =\n    ambassadorWixRestaurantsCatalogsV3Catalog.bulkUnarchiveMenus(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          catalogId: '$[0]',\n          ids: '$[1].ids',\n          returnFullEntity: '$[1].returnFullEntity',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['catalogId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUnarchiveMenusOptions {\n  /**\n   * IDs of the menus to unarchive.\n   * @minSize 1\n   * @maxSize 20\n   */\n  ids?: string[];\n  /** Whether the full menu entity is returned. Defaults to `true`. */\n  returnFullEntity?: boolean;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\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 resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalog',\n        destPath: '/v3/catalog',\n      },\n      {\n        srcPath: '/restaurants/v3/draft-catalogs',\n        destPath: '/v3/draft-catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalogs_test',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/_api/restaurants/v3/catalogs_test',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'users._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalog',\n        destPath: '/v3/catalog',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalog',\n        destPath: '/v3/catalog',\n      },\n      {\n        srcPath: '/restaurants/v3/draft-catalogs',\n        destPath: '/v3/draft-catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalogs_test',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/_api/restaurants/v3/catalogs_test',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'users._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n      {\n        srcPath: '/restaurants/v3/catalog',\n        destPath: '/v3/catalog',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/restaurants/v3/catalogs',\n        destPath: '/v3/catalogs',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_restaurants_catalogs';\n\n/**\n * Retrieves catalogs, given the provided filtering, sorting and paging.\n * Note that there is a single catalog per location.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.ListMenus(), and will be removed on 2025-09-30.\n */\nexport function listCatalogs(payload: object): RequestOptionsFactory<any> {\n  function __listCatalogs({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListCatalogs',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload, true),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'catalogs.draftPublishedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listCatalogs;\n}\n\n/**\n * Retrieves a menu.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.GetMenu(), and will be removed on 2025-09-30.\n */\nexport function getMenu(payload: object): RequestOptionsFactory<any> {\n  function __getMenu({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetMenu',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus/{menuId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getMenu;\n}\n\n/**\n * Retrieves a section.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.GetSection(), and will be removed on 2025-09-30.\n */\nexport function getSection(payload: object): RequestOptionsFactory<any> {\n  function __getSection({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetSection',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath:\n          '/v3/catalogs/{catalogId}/menus/{menuId}/sections/{sectionId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getSection;\n}\n\n/**\n * Updates a menu.\n * You can't update archived menus.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.GetSection(), and will be removed on 2025-09-30.\n */\nexport function updateMenu(payload: object): RequestOptionsFactory<any> {\n  function __updateMenu({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'PATCH' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateMenu',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus/{menu.id}',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __updateMenu;\n}\n\n/**\n * Updates a section.\n * You can't update archived sections. Note that every section belongs to a single menu, you can't add it to another menu.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.UpdateSection(), and will be removed on 2025-09-30.\n */\nexport function updateSection(payload: object): RequestOptionsFactory<any> {\n  function __updateSection({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'PATCH' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateSection',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath:\n          '/v3/catalogs/{catalogId}/menus/{menuId}/sections/{section.id}',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __updateSection;\n}\n\n/**\n * Retrieves menus, given the provided filtering, sorting and paging.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.ListMenus(), and will be removed on 2025-09-30.\n */\nexport function listMenus(payload: object): RequestOptionsFactory<any> {\n  function __listMenus({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'fieldMask' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListMenus',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus',\n        data: serializedData,\n        host,\n      }),\n      params: toURLSearchParams(serializedData),\n    };\n\n    return metadata;\n  }\n\n  return __listMenus;\n}\n\n/**\n * Retrieves sections, given the provided filtering, sorting and paging.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.ListSections(), and will be removed on 2025-09-30.\n */\nexport function listSections(payload: object): RequestOptionsFactory<any> {\n  function __listSections({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'fieldMask' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListSections',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/sections',\n        data: serializedData,\n        host,\n      }),\n      params: toURLSearchParams(serializedData),\n    };\n\n    return metadata;\n  }\n\n  return __listSections;\n}\n\n/**\n * Creates a menu.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.CreateMenu(), and will be removed on 2025-09-30.\n */\nexport function createMenu(payload: object): RequestOptionsFactory<any> {\n  function __createMenu({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateMenu',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __createMenu;\n}\n\n/**\n * Archives a menu. You can't update archived menus.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function archiveMenu(payload: object): RequestOptionsFactory<any> {\n  function __archiveMenu({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.ArchiveMenu',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus/{menuId}/archive',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __archiveMenu;\n}\n\n/**\n * Unarchives a menu.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function unarchiveMenu(payload: object): RequestOptionsFactory<any> {\n  function __unarchiveMenu({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.UnarchiveMenu',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus/{menuId}/unarchive',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __unarchiveMenu;\n}\n\n/**\n * Creates a section.\n * You can't add the section to multiple menus, since every section belongs to a single menu.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_section.v1.RestaurantsMenusSection.CreateSection(), and will be removed on 2025-09-30.\n */\nexport function createSection(payload: object): RequestOptionsFactory<any> {\n  function __createSection({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateSection',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/menus/{menuId}/sections',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __createSection;\n}\n\n/**\n * Retrieves an item.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.GetItem(), and will be removed on 2025-09-30.\n */\nexport function getItem(payload: object): RequestOptionsFactory<any> {\n  function __getItem({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.GetItem',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/items/{itemId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getItem;\n}\n\n/**\n * Retrieves items, given the provided filtering, sorting and paging.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.ListItems(), and will be removed on 2025-09-30.\n */\nexport function listItems(payload: object): RequestOptionsFactory<any> {\n  function __listItems({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'fieldMask' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'GET' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.ListItems',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/items',\n        data: serializedData,\n        host,\n      }),\n      params: toURLSearchParams(serializedData),\n    };\n\n    return metadata;\n  }\n\n  return __listItems;\n}\n\n/**\n * Updates an item.\n * You can't update archived items.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.UpdateItem(), and will be removed on 2025-09-30.\n */\nexport function updateItem(payload: object): RequestOptionsFactory<any> {\n  function __updateItem({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'PATCH' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.UpdateItem',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/items/{item.id}',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __updateItem;\n}\n\n/**\n * Creates a dish.\n * @deprecated It has been replaced with com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CreateItem(), and will be removed on 2025-09-30.\n */\nexport function createDish(payload: object): RequestOptionsFactory<any> {\n  function __createDish({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn: 'com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateDish',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath:\n          '/v3/catalogs/{catalogId}/menus/{menuId}/sections/{sectionId}/items',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __createDish;\n}\n\n/**\n * Creates a variation.\n * @deprecated It has been replaced with wix.restaurants.menus_item_variant.v1.VariantsService.CreateVariant(), and will be removed on 2025-09-30.\n */\nexport function createVariation(payload: object): RequestOptionsFactory<any> {\n  function __createVariation({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.CatalogsApi.CreateVariation',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3CatalogsApiUrl({\n        protoPath: '/v3/catalogs/{catalogId}/variations',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __createVariation;\n}\n\n/**\n * Creates a draft version of the specified catalog.\n * Then you can update and publish the draft catalog by using the endpoints in the [Draft Catalogs category](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs).\n *\n * > **Note:** You can't create more than one draft catalog per location.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function createDraftCatalog(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __createDraftCatalog({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.CreateDraftCatalog',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/create',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'catalog.draftPublishedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createDraftCatalog;\n}\n\n/**\n * Publishes a draft catalog to the live site by replacing the existing catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function publishDraftCatalog(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __publishDraftCatalog({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.PublishDraftCatalog',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/publish',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'catalog.draftPublishedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __publishDraftCatalog;\n}\n\n/**\n * Discards a draft catalog. If you want to continue using [Bulk endpoints](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs) for this catalog, you must first call the [Create Draft Catalog](https://dev.wix.com/api/rest/wix-restaurants/catalogs/draft-catalogs/create-draft-catalog) endpoint again.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function discardDraftCatalog(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __discardDraftCatalog({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'DELETE' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.DiscardDraftCatalog',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/discard',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __discardDraftCatalog;\n}\n\n/**\n * Adds multiple variations to a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkCreateVariations(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkCreateVariations({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateVariations',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/variations/create',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateVariations;\n}\n\n/**\n * Updates multiple items in a draft catalog.\n * You can't update archived items.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkUpdateItems(payload: object): RequestOptionsFactory<any> {\n  function __bulkUpdateItems({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateItems',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/items/update',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateItems;\n}\n\n/**\n * Adds multiple dishes to a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkCreateDishes(payload: object): RequestOptionsFactory<any> {\n  function __bulkCreateDishes({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateDishes',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/dishes/create',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateDishes;\n}\n\n/**\n * Adds multiple menus to a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkCreateMenus(payload: object): RequestOptionsFactory<any> {\n  function __bulkCreateMenus({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateMenus',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/menus/create',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateMenus;\n}\n\n/**\n * Updates multiple menus in a draft catalog.\n * You can't update archived menus.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkUpdateMenus(payload: object): RequestOptionsFactory<any> {\n  function __bulkUpdateMenus({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateMenus',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/menus/update',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateMenus;\n}\n\n/**\n * Adds multiple sections to a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkCreateSections(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkCreateSections({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkCreateSections',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/sections/create',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkCreateSections;\n}\n\n/**\n * Updates multiple sections in a draft catalog.\n * You can't update archived sections.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkUpdateSections(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateSections({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUpdateSections',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/sections/update',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateSections;\n}\n\n/**\n * Changes the `archived` boolean to `true` for multiple menus in a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkArchiveMenus(payload: object): RequestOptionsFactory<any> {\n  function __bulkArchiveMenus({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkArchiveMenus',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/menus/archive',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkArchiveMenus;\n}\n\n/**\n * Changes the `archived` boolean to `false` for multiple menus in a draft catalog.\n * @deprecated Will be removed on 2025-09-30.\n */\nexport function bulkUnarchiveMenus(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUnarchiveMenus({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.restaurants.catalogs.v3.catalog',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.restaurants.catalogs.v3.DraftCatalogsApi.BulkUnarchiveMenus',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressRestaurantsCatalogsV3DraftCatalogsApiUrl({\n        protoPath: '/v3/draft-catalogs/{catalogId}/bulk/menus/unarchive',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUnarchiveMenus;\n}\n","import {\n  listCatalogs as publicListCatalogs,\n  getMenu as publicGetMenu,\n  getSection as publicGetSection,\n  updateMenu as publicUpdateMenu,\n  updateSection as publicUpdateSection,\n  listMenus as publicListMenus,\n  listSections as publicListSections,\n  createMenu as publicCreateMenu,\n  archiveMenu as publicArchiveMenu,\n  unarchiveMenu as publicUnarchiveMenu,\n  createSection as publicCreateSection,\n  getItem as publicGetItem,\n  listItems as publicListItems,\n  updateItem as publicUpdateItem,\n  createDish as publicCreateDish,\n  createVariation as publicCreateVariation,\n  createDraftCatalog as publicCreateDraftCatalog,\n  publishDraftCatalog as publicPublishDraftCatalog,\n  discardDraftCatalog as publicDiscardDraftCatalog,\n  bulkCreateVariations as publicBulkCreateVariations,\n  bulkUpdateItems as publicBulkUpdateItems,\n  bulkCreateDishes as publicBulkCreateDishes,\n  bulkCreateMenus as publicBulkCreateMenus,\n  bulkUpdateMenus as publicBulkUpdateMenus,\n  bulkCreateSections as publicBulkCreateSections,\n  bulkUpdateSections as publicBulkUpdateSections,\n  bulkArchiveMenus as publicBulkArchiveMenus,\n  bulkUnarchiveMenus as publicBulkUnarchiveMenus,\n} from './restaurants-catalogs-v3-catalog-catalogs.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 { onCatalogChanged as publicOnCatalogChanged } from './restaurants-catalogs-v3-catalog-catalogs.public.js';\nimport { onCatalogCreated as publicOnCatalogCreated } from './restaurants-catalogs-v3-catalog-catalogs.public.js';\n\nexport const listCatalogs: MaybeContext<\n  BuildRESTFunction<typeof publicListCatalogs> & typeof publicListCatalogs\n> = /*#__PURE__*/ createRESTModule(publicListCatalogs);\nexport const getMenu: MaybeContext<\n  BuildRESTFunction<typeof publicGetMenu> & typeof publicGetMenu\n> = /*#__PURE__*/ createRESTModule(publicGetMenu);\nexport const getSection: MaybeContext<\n  BuildRESTFunction<typeof publicGetSection> & typeof publicGetSection\n> = /*#__PURE__*/ createRESTModule(publicGetSection);\nexport const updateMenu: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateMenu> & typeof publicUpdateMenu\n> = /*#__PURE__*/ createRESTModule(publicUpdateMenu);\nexport const updateSection: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateSection> & typeof publicUpdateSection\n> = /*#__PURE__*/ createRESTModule(publicUpdateSection);\nexport const listMenus: MaybeContext<\n  BuildRESTFunction<typeof publicListMenus> & typeof publicListMenus\n> = /*#__PURE__*/ createRESTModule(publicListMenus);\nexport const listSections: MaybeContext<\n  BuildRESTFunction<typeof publicListSections> & typeof publicListSections\n> = /*#__PURE__*/ createRESTModule(publicListSections);\nexport const createMenu: MaybeContext<\n  BuildRESTFunction<typeof publicCreateMenu> & typeof publicCreateMenu\n> = /*#__PURE__*/ createRESTModule(publicCreateMenu);\nexport const archiveMenu: MaybeContext<\n  BuildRESTFunction<typeof publicArchiveMenu> & typeof publicArchiveMenu\n> = /*#__PURE__*/ createRESTModule(publicArchiveMenu);\nexport const unarchiveMenu: MaybeContext<\n  BuildRESTFunction<typeof publicUnarchiveMenu> & typeof publicUnarchiveMenu\n> = /*#__PURE__*/ createRESTModule(publicUnarchiveMenu);\nexport const createSection: MaybeContext<\n  BuildRESTFunction<typeof publicCreateSection> & typeof publicCreateSection\n> = /*#__PURE__*/ createRESTModule(publicCreateSection);\nexport const getItem: MaybeContext<\n  BuildRESTFunction<typeof publicGetItem> & typeof publicGetItem\n> = /*#__PURE__*/ createRESTModule(publicGetItem);\nexport const listItems: MaybeContext<\n  BuildRESTFunction<typeof publicListItems> & typeof publicListItems\n> = /*#__PURE__*/ createRESTModule(publicListItems);\nexport const updateItem: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateItem> & typeof publicUpdateItem\n> = /*#__PURE__*/ createRESTModule(publicUpdateItem);\nexport const createDish: MaybeContext<\n  BuildRESTFunction<typeof publicCreateDish> & typeof publicCreateDish\n> = /*#__PURE__*/ createRESTModule(publicCreateDish);\nexport const createVariation: MaybeContext<\n  BuildRESTFunction<typeof publicCreateVariation> & typeof publicCreateVariation\n> = /*#__PURE__*/ createRESTModule(publicCreateVariation);\nexport const createDraftCatalog: MaybeContext<\n  BuildRESTFunction<typeof publicCreateDraftCatalog> &\n    typeof publicCreateDraftCatalog\n> = /*#__PURE__*/ createRESTModule(publicCreateDraftCatalog);\nexport const publishDraftCatalog: MaybeContext<\n  BuildRESTFunction<typeof publicPublishDraftCatalog> &\n    typeof publicPublishDraftCatalog\n> = /*#__PURE__*/ createRESTModule(publicPublishDraftCatalog);\nexport const discardDraftCatalog: MaybeContext<\n  BuildRESTFunction<typeof publicDiscardDraftCatalog> &\n    typeof publicDiscardDraftCatalog\n> = /*#__PURE__*/ createRESTModule(publicDiscardDraftCatalog);\nexport const bulkCreateVariations: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateVariations> &\n    typeof publicBulkCreateVariations\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateVariations);\nexport const bulkUpdateItems: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateItems> & typeof publicBulkUpdateItems\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateItems);\nexport const bulkCreateDishes: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateDishes> &\n    typeof publicBulkCreateDishes\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateDishes);\nexport const bulkCreateMenus: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateMenus> & typeof publicBulkCreateMenus\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateMenus);\nexport const bulkUpdateMenus: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateMenus> & typeof publicBulkUpdateMenus\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateMenus);\nexport const bulkCreateSections: MaybeContext<\n  BuildRESTFunction<typeof publicBulkCreateSections> &\n    typeof publicBulkCreateSections\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateSections);\nexport const bulkUpdateSections: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateSections> &\n    typeof publicBulkUpdateSections\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateSections);\nexport const bulkArchiveMenus: MaybeContext<\n  BuildRESTFunction<typeof publicBulkArchiveMenus> &\n    typeof publicBulkArchiveMenus\n> = /*#__PURE__*/ createRESTModule(publicBulkArchiveMenus);\nexport const bulkUnarchiveMenus: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUnarchiveMenus> &\n    typeof publicBulkUnarchiveMenus\n> = /*#__PURE__*/ createRESTModule(publicBulkUnarchiveMenus);\n/**\n * Triggered when a catalog is changed.\n *\n * > __Note:__ The webhook doesn't return information about what has changed. In order to update an external POS upon changes to a Wix Restaurants catalog you may need to create your own logic to identify the changes.\n * @deprecated\n */\nexport const onCatalogChanged: BuildEventDefinition<\n  typeof publicOnCatalogChanged\n> &\n  typeof publicOnCatalogChanged = createEventModule(publicOnCatalogChanged);\n/**\n * Triggered when a catalog is created.\n *\n * > __Note:__ The webhook doesn't return information about the entities belonging to the catalog. You may need to create your own logic to retrieve the catalog's content.\n * @deprecated\n */\nexport const onCatalogCreated: BuildEventDefinition<\n  typeof publicOnCatalogCreated\n> &\n  typeof publicOnCatalogCreated = createEventModule(publicOnCatalogCreated);\n\nexport {\n  FulfillmentType,\n  Platform,\n  DayOfWeek,\n  Type,\n  ItemType,\n  DiscountType,\n  DiscountPlatform,\n  SortOrder,\n  WebhookIdentityType,\n} from './restaurants-catalogs-v3-catalog-catalogs.universal.js';\nexport {\n  Catalog,\n  InvalidateCache,\n  InvalidateCacheGetByOneOf,\n  App,\n  Page,\n  URI,\n  File,\n  CustomTag,\n  Pages,\n  URIs,\n  CatalogUpdated,\n  Item,\n  Money,\n  Labels,\n  VisibilityCriteria,\n  Availability,\n  TimePeriod,\n  SpecialHourPeriod,\n  DishOptions,\n  DishOption,\n  DishOptionMethodOneOf,\n  DishOptionItem,\n  Selection,\n  Extras,\n  Deselection,\n  Section,\n  SectionItemIds,\n  Menu,\n  MenuSectionIds,\n  Discount,\n  DiscountValueOneOf,\n  DiscountApplyToFilterOneOf,\n  SectionIds,\n  ItemIds,\n  DiscountCondition,\n  Coupon,\n  PublishCatalogUpdated,\n  IndexCacheCmd,\n  CatalogChanged,\n  ListCatalogsRequest,\n  Sorting,\n  Paging,\n  ListCatalogsResponse,\n  GetMenuRequest,\n  GetMenuResponse,\n  GetSectionRequest,\n  GetSectionResponse,\n  UpdateMenuRequest,\n  UpdateMenuResponse,\n  V3UpdateSectionRequest,\n  UpdateSectionResponse,\n  ListMenusRequest,\n  ListMenusResponse,\n  ListSectionsRequest,\n  ListSectionsResponse,\n  CreateMenuRequest,\n  CreateMenuResponse,\n  ArchiveMenuRequest,\n  ArchiveMenuResponse,\n  UnarchiveMenuRequest,\n  UnarchiveMenuResponse,\n  ArchiveSectionRequest,\n  ArchiveSectionResponse,\n  RemoveDishFromSectionRequest,\n  RemoveDishFromSectionResponse,\n  V3CreateSectionRequest,\n  CreateSectionResponse,\n  GetItemRequest,\n  GetItemResponse,\n  ListItemsRequest,\n  ListItemsResponse,\n  UpdateItemRequest,\n  UpdateItemResponse,\n  V3CreateDishRequest,\n  CreateDishResponse,\n  CreateVariationRequest,\n  CreateVariationResponse,\n  BulkCreateVariationsRequest,\n  NewVariation,\n  BulkCreateVariationsResponse,\n  BulkItemResult,\n  ItemMetadata,\n  ApplicationError,\n  BulkActionMetadata,\n  BulkArchiveMenusRequest,\n  BulkArchiveMenusResponse,\n  BulkMenuResult,\n  MenuUpdated,\n  Empty,\n  BulkCreateDishesRequest,\n  CreateDishRequest,\n  BulkCreateDishesResponse,\n  BulkCreateSectionsRequest,\n  CreateSectionRequest,\n  BulkCreateSectionsResponse,\n  BulkSectionResult,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  CreateDraftCatalogRequest,\n  CreateDraftCatalogResponse,\n  PublishDraftCatalogRequest,\n  PublishDraftCatalogResponse,\n  DiscardDraftCatalogRequest,\n  DiscardDraftCatalogResponse,\n  BulkUpdateItemsRequest,\n  BulkUpdateItemsResponse,\n  BulkCreateMenusRequest,\n  BulkCreateMenusResponse,\n  BulkUpdateMenusRequest,\n  BulkUpdateMenusResponse,\n  BulkUpdateSectionsRequest,\n  UpdateSectionRequest,\n  BulkUpdateSectionsResponse,\n  BulkUnarchiveMenusRequest,\n  BulkUnarchiveMenusResponse,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  CatalogChangedEnvelope,\n  CatalogCreatedEnvelope,\n  ListCatalogsOptions,\n  GetMenuIdentifiers,\n  GetSectionIdentifiers,\n  UpdateMenuIdentifiers,\n  UpdateMenuOptions,\n  UpdateSectionIdentifiers,\n  UpdateSectionOptions,\n  ListMenusOptions,\n  ListSectionsOptions,\n  ArchiveMenuIdentifiers,\n  UnarchiveMenuIdentifiers,\n  CreateSectionIdentifiers,\n  GetItemIdentifiers,\n  GetItemOptions,\n  ListItemsOptions,\n  UpdateItemIdentifiers,\n  UpdateItemOptions,\n  CreateDishIdentifiers,\n  BulkCreateVariationsOptions,\n  BulkUpdateItemsOptions,\n  BulkCreateDishesOptions,\n  BulkCreateMenusOptions,\n  BulkUpdateMenusOptions,\n  BulkCreateSectionsOptions,\n  BulkUpdateSectionsOptions,\n  BulkArchiveMenusOptions,\n  BulkUnarchiveMenusOptions,\n} from './restaurants-catalogs-v3-catalog-catalogs.universal.js';\nexport {\n  FulfillmentTypeWithLiterals,\n  PlatformWithLiterals,\n  DayOfWeekWithLiterals,\n  TypeWithLiterals,\n  ItemTypeWithLiterals,\n  DiscountTypeWithLiterals,\n  DiscountPlatformWithLiterals,\n  SortOrderWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n} from './restaurants-catalogs-v3-catalog-catalogs.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","FulfillmentType","Platform","DayOfWeek","Type","ItemType","DiscountType","DiscountPlatform","SortOrder","WebhookIdentityType","listCatalogs","getMenu","getSection","updateMenu","updateSection","listMenus","listSections","createMenu","archiveMenu","unarchiveMenu","createSection","getItem","listItems","updateItem","createDish","createVariation","createDraftCatalog","publishDraftCatalog","discardDraftCatalog","bulkCreateVariations","bulkUpdateItems","bulkCreateDishes","bulkCreateMenus","bulkUpdateMenus","bulkCreateSections","bulkUpdateSections","bulkArchiveMenus","bulkUnarchiveMenus","listCatalogs","getMenu","getSection","updateMenu","updateSection","listMenus","listSections","createMenu","archiveMenu","unarchiveMenu","createSection","getItem","listItems","updateItem","createDish","createVariation","createDraftCatalog","publishDraftCatalog","discardDraftCatalog","bulkCreateVariations","bulkUpdateItems","bulkCreateDishes","bulkCreateMenus","bulkUpdateMenus","bulkCreateSections","bulkUpdateSections","bulkArchiveMenus","bulkUnarchiveMenus","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","listCatalogs","getMenu","getSection","updateMenu","updateSection","listMenus","listSections","createMenu","archiveMenu","unarchiveMenu","createSection","getItem","listItems","updateItem","createDish","createVariation","createDraftCatalog","publishDraftCatalog","discardDraftCatalog","bulkCreateVariations","bulkUpdateItems","bulkCreateDishes","bulkCreateMenus","bulkUpdateMenus","bulkCreateSections","bulkUpdateSections","bulkArchiveMenus","bulkUnarchiveMenus","onCatalogChanged","onCatalogCreated"]}