@wix/auto_sdk_restaurants_menus 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/restaurants-menus-v1-menu-menus.context.d.ts +29 -0
  11. package/build/cjs/src/restaurants-menus-v1-menu-menus.context.js +34 -0
  12. package/build/cjs/src/restaurants-menus-v1-menu-menus.context.js.map +1 -0
  13. package/build/cjs/src/restaurants-menus-v1-menu-menus.http.d.ts +78 -0
  14. package/build/cjs/src/restaurants-menus-v1-menu-menus.http.js +497 -0
  15. package/build/cjs/src/restaurants-menus-v1-menu-menus.http.js.map +1 -0
  16. package/build/cjs/src/restaurants-menus-v1-menu-menus.meta.d.ts +33 -0
  17. package/build/cjs/src/restaurants-menus-v1-menu-menus.meta.js +237 -0
  18. package/build/cjs/src/restaurants-menus-v1-menu-menus.meta.js.map +1 -0
  19. package/build/cjs/src/restaurants-menus-v1-menu-menus.public.d.ts +135 -0
  20. package/build/cjs/src/restaurants-menus-v1-menu-menus.public.js +109 -0
  21. package/build/cjs/src/restaurants-menus-v1-menu-menus.public.js.map +1 -0
  22. package/build/cjs/src/restaurants-menus-v1-menu-menus.types.d.ts +592 -0
  23. package/build/cjs/src/restaurants-menus-v1-menu-menus.types.js +17 -0
  24. package/build/cjs/src/restaurants-menus-v1-menu-menus.types.js.map +1 -0
  25. package/build/cjs/src/restaurants-menus-v1-menu-menus.universal.d.ts +1043 -0
  26. package/build/cjs/src/restaurants-menus-v1-menu-menus.universal.js +554 -0
  27. package/build/cjs/src/restaurants-menus-v1-menu-menus.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/restaurants-menus-v1-menu-menus.context.d.ts +29 -0
  39. package/build/es/src/restaurants-menus-v1-menu-menus.context.js +29 -0
  40. package/build/es/src/restaurants-menus-v1-menu-menus.context.js.map +1 -0
  41. package/build/es/src/restaurants-menus-v1-menu-menus.http.d.ts +78 -0
  42. package/build/es/src/restaurants-menus-v1-menu-menus.http.js +483 -0
  43. package/build/es/src/restaurants-menus-v1-menu-menus.http.js.map +1 -0
  44. package/build/es/src/restaurants-menus-v1-menu-menus.meta.d.ts +33 -0
  45. package/build/es/src/restaurants-menus-v1-menu-menus.meta.js +200 -0
  46. package/build/es/src/restaurants-menus-v1-menu-menus.meta.js.map +1 -0
  47. package/build/es/src/restaurants-menus-v1-menu-menus.public.d.ts +135 -0
  48. package/build/es/src/restaurants-menus-v1-menu-menus.public.js +93 -0
  49. package/build/es/src/restaurants-menus-v1-menu-menus.public.js.map +1 -0
  50. package/build/es/src/restaurants-menus-v1-menu-menus.types.d.ts +592 -0
  51. package/build/es/src/restaurants-menus-v1-menu-menus.types.js +14 -0
  52. package/build/es/src/restaurants-menus-v1-menu-menus.types.js.map +1 -0
  53. package/build/es/src/restaurants-menus-v1-menu-menus.universal.d.ts +1043 -0
  54. package/build/es/src/restaurants-menus-v1-menu-menus.universal.js +517 -0
  55. package/build/es/src/restaurants-menus-v1-menu-menus.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.context.d.ts +29 -0
  66. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.context.js +34 -0
  67. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.context.js.map +1 -0
  68. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.http.d.ts +78 -0
  69. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.http.js +497 -0
  70. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.http.js.map +1 -0
  71. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.meta.d.ts +33 -0
  72. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.meta.js +237 -0
  73. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.meta.js.map +1 -0
  74. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.public.d.ts +135 -0
  75. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.public.js +109 -0
  76. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.public.js.map +1 -0
  77. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.types.d.ts +592 -0
  78. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.types.js +17 -0
  79. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.types.js.map +1 -0
  80. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.universal.d.ts +1043 -0
  81. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.universal.js +554 -0
  82. package/build/internal/cjs/src/restaurants-menus-v1-menu-menus.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/restaurants-menus-v1-menu-menus.context.d.ts +29 -0
  93. package/build/internal/es/src/restaurants-menus-v1-menu-menus.context.js +29 -0
  94. package/build/internal/es/src/restaurants-menus-v1-menu-menus.context.js.map +1 -0
  95. package/build/internal/es/src/restaurants-menus-v1-menu-menus.http.d.ts +78 -0
  96. package/build/internal/es/src/restaurants-menus-v1-menu-menus.http.js +483 -0
  97. package/build/internal/es/src/restaurants-menus-v1-menu-menus.http.js.map +1 -0
  98. package/build/internal/es/src/restaurants-menus-v1-menu-menus.meta.d.ts +33 -0
  99. package/build/internal/es/src/restaurants-menus-v1-menu-menus.meta.js +200 -0
  100. package/build/internal/es/src/restaurants-menus-v1-menu-menus.meta.js.map +1 -0
  101. package/build/internal/es/src/restaurants-menus-v1-menu-menus.public.d.ts +135 -0
  102. package/build/internal/es/src/restaurants-menus-v1-menu-menus.public.js +93 -0
  103. package/build/internal/es/src/restaurants-menus-v1-menu-menus.public.js.map +1 -0
  104. package/build/internal/es/src/restaurants-menus-v1-menu-menus.types.d.ts +592 -0
  105. package/build/internal/es/src/restaurants-menus-v1-menu-menus.types.js +14 -0
  106. package/build/internal/es/src/restaurants-menus-v1-menu-menus.types.js.map +1 -0
  107. package/build/internal/es/src/restaurants-menus-v1-menu-menus.universal.d.ts +1043 -0
  108. package/build/internal/es/src/restaurants-menus-v1-menu-menus.universal.js +517 -0
  109. package/build/internal/es/src/restaurants-menus-v1-menu-menus.universal.js.map +1 -0
  110. package/meta/package.json +3 -0
  111. package/package.json +52 -0
@@ -0,0 +1,1043 @@
1
+ export interface Menu {
2
+ /**
3
+ * Menu ID.
4
+ * @readonly
5
+ */
6
+ _id?: string | null;
7
+ /**
8
+ * Revision number, which increments by 1 each time the menu is updated. To prevent conflicting changes, the current revision must be passed when updating the menu. Ignored when creating a menu.
9
+ * @readonly
10
+ */
11
+ revision?: string | null;
12
+ /**
13
+ * Date and time the menu was created.
14
+ * @readonly
15
+ */
16
+ _createdDate?: Date | null;
17
+ /**
18
+ * Date and time the menu was updated.
19
+ * @readonly
20
+ */
21
+ _updatedDate?: Date | null;
22
+ /** Menu name. */
23
+ name?: string;
24
+ /** Menu description. */
25
+ description?: string | null;
26
+ /** Whether the menu visible to site visitors. */
27
+ visible?: boolean | null;
28
+ /** Menu section IDs. */
29
+ sectionIds?: string[];
30
+ /** Extended fields. */
31
+ extendedFields?: ExtendedFields;
32
+ /** Part of the site URL, that redirects to the menu. For example, in the URL `www.mywebsite.com/our-menus/dinner-menu`, `dinner-menu` is the field value. */
33
+ urlQueryParam?: string | null;
34
+ /** Custom SEO data for the menu. */
35
+ seoData?: SeoSchema;
36
+ }
37
+ export interface ExtendedFields {
38
+ /**
39
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
40
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
41
+ *
42
+ * You can only access fields for which you have the appropriate permissions.
43
+ *
44
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
45
+ */
46
+ namespaces?: Record<string, Record<string, any>>;
47
+ }
48
+ /**
49
+ * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
50
+ * The search engines use this information for ranking purposes, or to display snippets in the search results.
51
+ * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.
52
+ */
53
+ export interface SeoSchema {
54
+ /** SEO tag information. */
55
+ tags?: Tag[];
56
+ /** SEO general settings. */
57
+ settings?: Settings;
58
+ }
59
+ export interface Keyword {
60
+ /** Keyword value. */
61
+ term?: string;
62
+ /** Whether the keyword is the main focus keyword. */
63
+ isMain?: boolean;
64
+ /** The source that added the keyword terms to the SEO settings. */
65
+ origin?: string | null;
66
+ }
67
+ export interface Tag {
68
+ /**
69
+ * SEO tag type.
70
+ *
71
+ *
72
+ * Supported values: `title`, `meta`, `script`, `link`.
73
+ */
74
+ type?: string;
75
+ /**
76
+ * A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
77
+ * For example: `{"name": "description", "content": "the description itself"}`.
78
+ */
79
+ props?: Record<string, any> | null;
80
+ /** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
81
+ meta?: Record<string, any> | null;
82
+ /** SEO tag inner content. For example, `<title> inner content </title>`. */
83
+ children?: string;
84
+ /** Whether the tag is a custom tag. */
85
+ custom?: boolean;
86
+ /** Whether the tag is disabled. */
87
+ disabled?: boolean;
88
+ }
89
+ export interface Settings {
90
+ /**
91
+ * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
92
+ *
93
+ *
94
+ * Default: `false` (Auto Redirect is enabled.)
95
+ */
96
+ preventAutoRedirect?: boolean;
97
+ /** User-selected keyword terms for a specific page. */
98
+ keywords?: Keyword[];
99
+ }
100
+ export interface BusinessLocationDetails {
101
+ }
102
+ export interface GetMenuSiteUrlRequest {
103
+ /**
104
+ * Menu ID.
105
+ * @readonly
106
+ */
107
+ _id: string | null;
108
+ }
109
+ export interface GetMenuSiteUrlResponse {
110
+ /** Retrieved menuInfo with path url. */
111
+ menuSiteUrl?: MenuSiteUrl;
112
+ }
113
+ export interface MenuSiteUrl {
114
+ /** Path URL. */
115
+ path?: string;
116
+ }
117
+ export interface QueryMenusSiteUrlRequest {
118
+ /** Query options */
119
+ query?: CursorQuery;
120
+ }
121
+ export interface CursorQuery extends CursorQueryPagingMethodOneOf {
122
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
123
+ cursorPaging?: CursorPaging;
124
+ /**
125
+ * Filter object in the following format:
126
+ * `"filter" : {
127
+ * "fieldName1": "value1",
128
+ * "fieldName2":{"$operator":"value2"}
129
+ * }`
130
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
131
+ */
132
+ filter?: Record<string, any> | null;
133
+ /**
134
+ * Sort object in the following format:
135
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
136
+ */
137
+ sort?: Sorting[];
138
+ }
139
+ /** @oneof */
140
+ export interface CursorQueryPagingMethodOneOf {
141
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
142
+ cursorPaging?: CursorPaging;
143
+ }
144
+ export interface Sorting {
145
+ /** Name of the field to sort by. */
146
+ fieldName?: string;
147
+ /** Sort order. */
148
+ order?: SortOrder;
149
+ }
150
+ export declare enum SortOrder {
151
+ ASC = "ASC",
152
+ DESC = "DESC"
153
+ }
154
+ export interface CursorPaging {
155
+ /** Number of items to load. */
156
+ limit?: number | null;
157
+ /**
158
+ * Pointer to the next or previous page in the list of results.
159
+ *
160
+ * You can get the relevant cursor token
161
+ * from the `pagingMetadata` object in the previous call's response.
162
+ * Not relevant for the first request.
163
+ */
164
+ cursor?: string | null;
165
+ }
166
+ export interface QueryMenusSiteUrlResponse {
167
+ /** Retrieved menuInfos with path urls. */
168
+ menuSiteUrls?: MenuSiteUrl[];
169
+ /** The metadata of the paginated results. */
170
+ pagingMetadata?: CursorPagingMetadata;
171
+ }
172
+ export interface CursorPagingMetadata {
173
+ /** Number of items returned in the response. */
174
+ count?: number | null;
175
+ /** Offset that was requested. */
176
+ cursors?: Cursors;
177
+ /**
178
+ * Indicates if there are more results after the current page.
179
+ * If `true`, another page of results can be retrieved.
180
+ * If `false`, this is the last page.
181
+ */
182
+ hasNext?: boolean | null;
183
+ }
184
+ export interface Cursors {
185
+ /** Cursor pointing to next page in the list of results. */
186
+ next?: string | null;
187
+ /** Cursor pointing to previous page in the list of results. */
188
+ prev?: string | null;
189
+ }
190
+ export interface Location {
191
+ }
192
+ export interface InvalidateCache extends InvalidateCacheGetByOneOf {
193
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
194
+ metaSiteId?: string;
195
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
196
+ siteId?: string;
197
+ /** Invalidate by App */
198
+ app?: App;
199
+ /** Invalidate by page id */
200
+ page?: Page;
201
+ /** Invalidate by URI path */
202
+ uri?: URI;
203
+ /** Invalidate by file (for media files such as PDFs) */
204
+ file?: File;
205
+ /** tell us why you're invalidating the cache. You don't need to add your app name */
206
+ reason?: string | null;
207
+ /** Is local DS */
208
+ localDc?: boolean;
209
+ hardPurge?: boolean;
210
+ }
211
+ /** @oneof */
212
+ export interface InvalidateCacheGetByOneOf {
213
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
214
+ metaSiteId?: string;
215
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
216
+ siteId?: string;
217
+ /** Invalidate by App */
218
+ app?: App;
219
+ /** Invalidate by page id */
220
+ page?: Page;
221
+ /** Invalidate by URI path */
222
+ uri?: URI;
223
+ /** Invalidate by file (for media files such as PDFs) */
224
+ file?: File;
225
+ }
226
+ export interface App {
227
+ /** The AppDefId */
228
+ appDefId?: string;
229
+ /** The instance Id */
230
+ instanceId?: string;
231
+ }
232
+ export interface Page {
233
+ /** the msid the page is on */
234
+ metaSiteId?: string;
235
+ /** Invalidate by Page ID */
236
+ pageId?: string;
237
+ }
238
+ export interface URI {
239
+ /** the msid the URI is on */
240
+ metaSiteId?: string;
241
+ /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
242
+ uriPath?: string;
243
+ }
244
+ export interface File {
245
+ /** the msid the file is related to */
246
+ metaSiteId?: string;
247
+ /** Invalidate by filename (for media files such as PDFs) */
248
+ fileName?: string;
249
+ }
250
+ export interface DeleteOrphanSections {
251
+ /** Menu id */
252
+ menuId?: string;
253
+ }
254
+ export interface MenusDataCloningCompleted {
255
+ }
256
+ export interface CreateMenuRequest {
257
+ /** Menu details. */
258
+ menu: Menu;
259
+ }
260
+ export interface CreateMenuResponse {
261
+ /** Menu. */
262
+ menu?: Menu;
263
+ }
264
+ export interface BulkCreateMenusRequest {
265
+ /** Menu details. */
266
+ menus: Menu[];
267
+ /** Whether to receive the created menus in the response. */
268
+ returnEntity?: boolean;
269
+ }
270
+ export interface BulkCreateMenusResponse {
271
+ /** Information about the created menus. */
272
+ results?: BulkCreateMenuResult[];
273
+ /** Metadata for the API call. */
274
+ bulkActionMetadata?: BulkActionMetadata;
275
+ }
276
+ export interface BulkCreateMenuResult {
277
+ /** Whether to receive the created menus in the response. */
278
+ menuMetadata?: ItemMetadata;
279
+ /** Created menu. */
280
+ menu?: Menu;
281
+ }
282
+ export interface ItemMetadata {
283
+ /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
284
+ _id?: string | null;
285
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
286
+ originalIndex?: number;
287
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
288
+ success?: boolean;
289
+ /** Details about the error in case of failure. */
290
+ error?: ApplicationError;
291
+ }
292
+ export interface ApplicationError {
293
+ /** Error code. */
294
+ code?: string;
295
+ /** Description of the error. */
296
+ description?: string;
297
+ /** Data related to the error. */
298
+ data?: Record<string, any> | null;
299
+ }
300
+ export interface BulkActionMetadata {
301
+ /** Number of items that were successfully processed. */
302
+ totalSuccesses?: number;
303
+ /** Number of items that couldn't be processed. */
304
+ totalFailures?: number;
305
+ /** Number of failures without details because detailed failure threshold was exceeded. */
306
+ undetailedFailures?: number;
307
+ }
308
+ export interface GetMenuRequest {
309
+ /** Menu ID. */
310
+ menuId: string;
311
+ }
312
+ export interface GetMenuResponse {
313
+ /** Menu. */
314
+ menu?: Menu;
315
+ }
316
+ export interface ListMenusRequest {
317
+ /** Menu IDs. */
318
+ menuIds?: string[];
319
+ /** The metadata of the paginated results. */
320
+ paging?: CursorPaging;
321
+ /** Whether to return only menus that are visible to site visitors. */
322
+ onlyVisible?: boolean | null;
323
+ }
324
+ export interface ListMenusResponse {
325
+ /** Retrieved menus. */
326
+ menus?: Menu[];
327
+ /** The metadata of the paginated results. */
328
+ pagingMetadata?: CursorPagingMetadata;
329
+ }
330
+ export interface QueryMenusRequest {
331
+ /** Query options. */
332
+ query?: CursorQuery;
333
+ }
334
+ export interface QueryMenusResponse {
335
+ /** Retrieved menus. */
336
+ menus?: Menu[];
337
+ /** The metadata of the paginated results. */
338
+ pagingMetadata?: CursorPagingMetadata;
339
+ }
340
+ export interface UpdateMenuRequest {
341
+ /** Menu to update. */
342
+ menu: Menu;
343
+ }
344
+ export interface UpdateMenuResponse {
345
+ /** Updated menu. */
346
+ menu?: Menu;
347
+ }
348
+ export interface BulkUpdateMenuRequest {
349
+ /** Menus to update. */
350
+ menus: MaskedMenu[];
351
+ /** Whether to receive the entity in the response. */
352
+ returnEntity?: boolean;
353
+ }
354
+ export interface MaskedMenu {
355
+ /** Menu to updated. */
356
+ menu?: Menu;
357
+ /** Explicit list of fields to update. */
358
+ mask?: string[];
359
+ }
360
+ export interface BulkUpdateMenuResponse {
361
+ /** Results of bulk menu update. */
362
+ results?: BulkMenuResult[];
363
+ /** Metadata for the API call. */
364
+ bulkActionMetadata?: BulkActionMetadata;
365
+ }
366
+ export interface BulkMenuResult {
367
+ /** Metadata for menu update. */
368
+ menuMetadata?: ItemMetadata;
369
+ /** Updated menu. Only returned if `returnEntity` is set to `true`. */
370
+ menu?: Menu;
371
+ }
372
+ export interface UpdateExtendedFieldsRequest {
373
+ /** ID of the entity to update. */
374
+ _id: string;
375
+ /** Identifier for the app whose extended fields are being updated. */
376
+ namespace: string;
377
+ /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */
378
+ namespaceData: Record<string, any> | null;
379
+ }
380
+ export interface UpdateExtendedFieldsResponse {
381
+ /** Namespace of the app. */
382
+ namespace?: string;
383
+ /** Updated extended fields data. */
384
+ namespaceData?: Record<string, any> | null;
385
+ }
386
+ export interface DeleteMenuRequest {
387
+ /** Menu ID. */
388
+ menuId: string;
389
+ }
390
+ export interface DeleteMenuResponse {
391
+ }
392
+ export interface CloneMenusRequest {
393
+ /** The MetaSiteId to clone from. */
394
+ metaSiteId?: string;
395
+ }
396
+ export interface CloneMenusResponse {
397
+ }
398
+ export interface DomainEvent extends DomainEventBodyOneOf {
399
+ createdEvent?: EntityCreatedEvent;
400
+ updatedEvent?: EntityUpdatedEvent;
401
+ deletedEvent?: EntityDeletedEvent;
402
+ actionEvent?: ActionEvent;
403
+ /**
404
+ * Unique event ID.
405
+ * Allows clients to ignore duplicate webhooks.
406
+ */
407
+ _id?: string;
408
+ /**
409
+ * Assumes actions are also always typed to an entity_type
410
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
411
+ */
412
+ entityFqdn?: string;
413
+ /**
414
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
415
+ * This is although the created/updated/deleted notion is duplication of the oneof types
416
+ * Example: created/updated/deleted/started/completed/email_opened
417
+ */
418
+ slug?: string;
419
+ /** ID of the entity associated with the event. */
420
+ entityId?: string;
421
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
422
+ eventTime?: Date | null;
423
+ /**
424
+ * Whether the event was triggered as a result of a privacy regulation application
425
+ * (for example, GDPR).
426
+ */
427
+ triggeredByAnonymizeRequest?: boolean | null;
428
+ /** If present, indicates the action that triggered the event. */
429
+ originatedFrom?: string | null;
430
+ /**
431
+ * A sequence number defining the order of updates to the underlying entity.
432
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
433
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
434
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
435
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
436
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
437
+ */
438
+ entityEventSequence?: string | null;
439
+ }
440
+ /** @oneof */
441
+ export interface DomainEventBodyOneOf {
442
+ createdEvent?: EntityCreatedEvent;
443
+ updatedEvent?: EntityUpdatedEvent;
444
+ deletedEvent?: EntityDeletedEvent;
445
+ actionEvent?: ActionEvent;
446
+ }
447
+ export interface EntityCreatedEvent {
448
+ entity?: string;
449
+ }
450
+ export interface RestoreInfo {
451
+ deletedDate?: Date | null;
452
+ }
453
+ export interface EntityUpdatedEvent {
454
+ /**
455
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
456
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
457
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
458
+ */
459
+ currentEntity?: string;
460
+ }
461
+ export interface EntityDeletedEvent {
462
+ /** Entity that was deleted */
463
+ deletedEntity?: string | null;
464
+ }
465
+ export interface ActionEvent {
466
+ body?: string;
467
+ }
468
+ export interface Empty {
469
+ }
470
+ export interface MessageEnvelope {
471
+ /** App instance ID. */
472
+ instanceId?: string | null;
473
+ /** Event type. */
474
+ eventType?: string;
475
+ /** The identification type and identity data. */
476
+ identity?: IdentificationData;
477
+ /** Stringify payload. */
478
+ data?: string;
479
+ }
480
+ export interface IdentificationData extends IdentificationDataIdOneOf {
481
+ /** ID of a site visitor that has not logged in to the site. */
482
+ anonymousVisitorId?: string;
483
+ /** ID of a site visitor that has logged in to the site. */
484
+ memberId?: string;
485
+ /** ID of a Wix user (site owner, contributor, etc.). */
486
+ wixUserId?: string;
487
+ /** ID of an app. */
488
+ appId?: string;
489
+ /** @readonly */
490
+ identityType?: WebhookIdentityType;
491
+ }
492
+ /** @oneof */
493
+ export interface IdentificationDataIdOneOf {
494
+ /** ID of a site visitor that has not logged in to the site. */
495
+ anonymousVisitorId?: string;
496
+ /** ID of a site visitor that has logged in to the site. */
497
+ memberId?: string;
498
+ /** ID of a Wix user (site owner, contributor, etc.). */
499
+ wixUserId?: string;
500
+ /** ID of an app. */
501
+ appId?: string;
502
+ }
503
+ export declare enum WebhookIdentityType {
504
+ UNKNOWN = "UNKNOWN",
505
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
506
+ MEMBER = "MEMBER",
507
+ WIX_USER = "WIX_USER",
508
+ APP = "APP"
509
+ }
510
+ interface MenuSiteUrlNonNullableFields {
511
+ path: string;
512
+ }
513
+ export interface GetMenuSiteUrlResponseNonNullableFields {
514
+ menuSiteUrl?: MenuSiteUrlNonNullableFields;
515
+ }
516
+ export interface QueryMenusSiteUrlResponseNonNullableFields {
517
+ menuSiteUrls: MenuSiteUrlNonNullableFields[];
518
+ }
519
+ interface TagNonNullableFields {
520
+ type: string;
521
+ children: string;
522
+ custom: boolean;
523
+ disabled: boolean;
524
+ }
525
+ interface KeywordNonNullableFields {
526
+ term: string;
527
+ isMain: boolean;
528
+ }
529
+ interface SettingsNonNullableFields {
530
+ preventAutoRedirect: boolean;
531
+ keywords: KeywordNonNullableFields[];
532
+ }
533
+ interface SeoSchemaNonNullableFields {
534
+ tags: TagNonNullableFields[];
535
+ settings?: SettingsNonNullableFields;
536
+ }
537
+ export interface MenuNonNullableFields {
538
+ name: string;
539
+ sectionIds: string[];
540
+ seoData?: SeoSchemaNonNullableFields;
541
+ }
542
+ export interface CreateMenuResponseNonNullableFields {
543
+ menu?: MenuNonNullableFields;
544
+ }
545
+ interface ApplicationErrorNonNullableFields {
546
+ code: string;
547
+ description: string;
548
+ }
549
+ interface ItemMetadataNonNullableFields {
550
+ originalIndex: number;
551
+ success: boolean;
552
+ error?: ApplicationErrorNonNullableFields;
553
+ }
554
+ interface BulkCreateMenuResultNonNullableFields {
555
+ menuMetadata?: ItemMetadataNonNullableFields;
556
+ menu?: MenuNonNullableFields;
557
+ }
558
+ interface BulkActionMetadataNonNullableFields {
559
+ totalSuccesses: number;
560
+ totalFailures: number;
561
+ undetailedFailures: number;
562
+ }
563
+ export interface BulkCreateMenusResponseNonNullableFields {
564
+ results: BulkCreateMenuResultNonNullableFields[];
565
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
566
+ }
567
+ export interface GetMenuResponseNonNullableFields {
568
+ menu?: MenuNonNullableFields;
569
+ }
570
+ export interface ListMenusResponseNonNullableFields {
571
+ menus: MenuNonNullableFields[];
572
+ }
573
+ export interface QueryMenusResponseNonNullableFields {
574
+ menus: MenuNonNullableFields[];
575
+ }
576
+ export interface UpdateMenuResponseNonNullableFields {
577
+ menu?: MenuNonNullableFields;
578
+ }
579
+ interface BulkMenuResultNonNullableFields {
580
+ menuMetadata?: ItemMetadataNonNullableFields;
581
+ menu?: MenuNonNullableFields;
582
+ }
583
+ export interface BulkUpdateMenuResponseNonNullableFields {
584
+ results: BulkMenuResultNonNullableFields[];
585
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
586
+ }
587
+ export interface UpdateExtendedFieldsResponseNonNullableFields {
588
+ namespace: string;
589
+ }
590
+ export interface BaseEventMetadata {
591
+ /** App instance ID. */
592
+ instanceId?: string | null;
593
+ /** Event type. */
594
+ eventType?: string;
595
+ /** The identification type and identity data. */
596
+ identity?: IdentificationData;
597
+ }
598
+ export interface EventMetadata extends BaseEventMetadata {
599
+ /**
600
+ * Unique event ID.
601
+ * Allows clients to ignore duplicate webhooks.
602
+ */
603
+ _id?: string;
604
+ /**
605
+ * Assumes actions are also always typed to an entity_type
606
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
607
+ */
608
+ entityFqdn?: string;
609
+ /**
610
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
611
+ * This is although the created/updated/deleted notion is duplication of the oneof types
612
+ * Example: created/updated/deleted/started/completed/email_opened
613
+ */
614
+ slug?: string;
615
+ /** ID of the entity associated with the event. */
616
+ entityId?: string;
617
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
618
+ eventTime?: Date | null;
619
+ /**
620
+ * Whether the event was triggered as a result of a privacy regulation application
621
+ * (for example, GDPR).
622
+ */
623
+ triggeredByAnonymizeRequest?: boolean | null;
624
+ /** If present, indicates the action that triggered the event. */
625
+ originatedFrom?: string | null;
626
+ /**
627
+ * A sequence number defining the order of updates to the underlying entity.
628
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
629
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
630
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
631
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
632
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
633
+ */
634
+ entityEventSequence?: string | null;
635
+ }
636
+ export interface MenuCreatedEnvelope {
637
+ entity: Menu;
638
+ metadata: EventMetadata;
639
+ }
640
+ /** @permissionScope Manage Bookings Services and Settings
641
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
642
+ * @permissionScope Manage Portfolio
643
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
644
+ * @permissionScope Manage Restaurants - all permissions
645
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
646
+ * @permissionId RESTAURANTS.MENU_READ
647
+ * @webhook
648
+ * @eventType wix.restaurants.menus.v1.menu_created
649
+ * @documentationMaturity preview
650
+ */
651
+ export declare function onMenuCreated(handler: (event: MenuCreatedEnvelope) => void | Promise<void>): void;
652
+ export interface MenuDeletedEnvelope {
653
+ metadata: EventMetadata;
654
+ }
655
+ /**
656
+ * Triggered when a menu is deleted.
657
+ * @permissionScope Manage Bookings Services and Settings
658
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
659
+ * @permissionScope Manage Portfolio
660
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
661
+ * @permissionScope Manage Restaurants - all permissions
662
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
663
+ * @permissionId RESTAURANTS.MENU_READ
664
+ * @webhook
665
+ * @eventType wix.restaurants.menus.v1.menu_deleted
666
+ * @documentationMaturity preview
667
+ */
668
+ export declare function onMenuDeleted(handler: (event: MenuDeletedEnvelope) => void | Promise<void>): void;
669
+ export interface MenuUpdatedEnvelope {
670
+ entity: Menu;
671
+ metadata: EventMetadata;
672
+ }
673
+ /**
674
+ * Triggered when a menu is updated.
675
+ * @permissionScope Manage Bookings Services and Settings
676
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
677
+ * @permissionScope Manage Portfolio
678
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
679
+ * @permissionScope Manage Restaurants - all permissions
680
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
681
+ * @permissionId RESTAURANTS.MENU_READ
682
+ * @webhook
683
+ * @eventType wix.restaurants.menus.v1.menu_updated
684
+ * @documentationMaturity preview
685
+ */
686
+ export declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
687
+ /**
688
+ * Get menu details and path URL by menu ID.
689
+ * @param _id - Menu ID.
690
+ * @public
691
+ * @documentationMaturity preview
692
+ * @requiredField _id
693
+ * @permissionId RESTAURANTS.MENU_READ
694
+ * @permissionScope Manage Bookings Services and Settings
695
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
696
+ * @permissionScope Manage Portfolio
697
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
698
+ * @permissionScope Manage Restaurants - all permissions
699
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
700
+ * @applicableIdentity APP
701
+ * @applicableIdentity VISITOR
702
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.GetMenuSiteUrl
703
+ */
704
+ export declare function getMenuSiteUrl(_id: string | null): Promise<GetMenuSiteUrlResponse & GetMenuSiteUrlResponseNonNullableFields>;
705
+ /**
706
+ * Query menu details and path URL
707
+ * @public
708
+ * @documentationMaturity preview
709
+ * @permissionId RESTAURANTS.MENU_READ
710
+ * @permissionScope Manage Bookings Services and Settings
711
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
712
+ * @permissionScope Manage Portfolio
713
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
714
+ * @permissionScope Manage Restaurants - all permissions
715
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
716
+ * @applicableIdentity APP
717
+ * @applicableIdentity VISITOR
718
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.QueryMenusSiteUrl
719
+ */
720
+ export declare function queryMenusSiteUrl(options?: QueryMenusSiteUrlOptions): Promise<QueryMenusSiteUrlResponse & QueryMenusSiteUrlResponseNonNullableFields>;
721
+ export interface QueryMenusSiteUrlOptions {
722
+ /** Query options */
723
+ query?: CursorQuery;
724
+ }
725
+ /**
726
+ * > **Note:** The Menus API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
727
+ *
728
+ * Creates a menu.
729
+ *
730
+ * To create multiple menus at once, use [Bulk Create Menus](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/menu/bulk-create-menus).
731
+ * @param menu - Menu details.
732
+ * @public
733
+ * @documentationMaturity preview
734
+ * @requiredField menu
735
+ * @permissionId RESTAURANTS.MENU_CREATE
736
+ * @permissionScope Manage Bookings Services and Settings
737
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
738
+ * @permissionScope Manage Portfolio
739
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
740
+ * @permissionScope Manage Restaurants - all permissions
741
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
742
+ * @applicableIdentity APP
743
+ * @returns Menu.
744
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.CreateMenu
745
+ */
746
+ export declare function createMenu(menu: Menu): Promise<Menu & MenuNonNullableFields>;
747
+ /**
748
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
749
+ *
750
+ * Creates multiple menus at once.
751
+ * @param menus - Menu details.
752
+ * @public
753
+ * @documentationMaturity preview
754
+ * @requiredField menus
755
+ * @permissionId RESTAURANTS.MENU_CREATE
756
+ * @permissionScope Manage Bookings Services and Settings
757
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
758
+ * @permissionScope Manage Portfolio
759
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
760
+ * @permissionScope Manage Restaurants - all permissions
761
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
762
+ * @applicableIdentity APP
763
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.BulkCreateMenus
764
+ */
765
+ export declare function bulkCreateMenus(menus: Menu[], options?: BulkCreateMenusOptions): Promise<BulkCreateMenusResponse & BulkCreateMenusResponseNonNullableFields>;
766
+ export interface BulkCreateMenusOptions {
767
+ /** Whether to receive the created menus in the response. */
768
+ returnEntity?: boolean;
769
+ }
770
+ /**
771
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
772
+ *
773
+ * Retrieves a menu by ID.
774
+ * @param menuId - Menu ID.
775
+ * @public
776
+ * @documentationMaturity preview
777
+ * @requiredField menuId
778
+ * @permissionId RESTAURANTS.MENU_READ
779
+ * @permissionScope Manage Bookings Services and Settings
780
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
781
+ * @permissionScope Manage Portfolio
782
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
783
+ * @permissionScope Manage Restaurants - all permissions
784
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
785
+ * @applicableIdentity APP
786
+ * @applicableIdentity VISITOR
787
+ * @returns Menu.
788
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.GetMenu
789
+ */
790
+ export declare function getMenu(menuId: string): Promise<Menu & MenuNonNullableFields>;
791
+ /**
792
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
793
+ *
794
+ * Retrieves a list of up to 500 menus.
795
+ * @public
796
+ * @documentationMaturity preview
797
+ * @permissionId RESTAURANTS.MENU_READ
798
+ * @permissionScope Manage Bookings Services and Settings
799
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
800
+ * @permissionScope Manage Portfolio
801
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
802
+ * @permissionScope Manage Restaurants - all permissions
803
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
804
+ * @applicableIdentity APP
805
+ * @applicableIdentity VISITOR
806
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.ListMenus
807
+ */
808
+ export declare function listMenus(options?: ListMenusOptions): Promise<ListMenusResponse & ListMenusResponseNonNullableFields>;
809
+ export interface ListMenusOptions {
810
+ /** Menu IDs. */
811
+ menuIds?: string[];
812
+ /** The metadata of the paginated results. */
813
+ paging?: CursorPaging;
814
+ /** Whether to return only menus that are visible to site visitors. */
815
+ onlyVisible?: boolean | null;
816
+ }
817
+ /**
818
+ * Creates a query to retrieve a list of menus.
819
+ *
820
+ * The `queryMenus()` function builds a query to retrieve a list of menus and returns a `MenusQueryBuilder` object.
821
+ *
822
+ * The returned object contains the query definition, which is used to run the query using the [`find()`](/menus/menus-query-builder/find) function.
823
+ *
824
+ * You can refine the query by chaining `MenusQueryBuilder` functions onto the query. `MenusQueryBuilder` functions enable you to filter, sort, and control the results that `queryMenus()` returns.
825
+ *
826
+ * `queryMenus()` runs with the following `MenusQueryBuilder` defaults, which you can override:
827
+ *
828
+ * * [`limit(100)`](/menus/menus-query-builder/limit)
829
+ * * [`ascending('entityId')`](/menus/menus-query-builder/ascending)
830
+ *
831
+ * The following `MenusQueryBuilder` functions are supported for `queryMenus()`. For a full description of the menu object, see the object returned for the [`items`](/menus/menus-query-result/items) property in `MenusQueryResult`.
832
+ * @public
833
+ * @documentationMaturity preview
834
+ * @permissionScope Manage Bookings Services and Settings
835
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
836
+ * @permissionScope Manage Portfolio
837
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
838
+ * @permissionScope Manage Restaurants - all permissions
839
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
840
+ * @permissionId RESTAURANTS.MENU_READ
841
+ * @applicableIdentity APP
842
+ * @applicableIdentity VISITOR
843
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.QueryMenus
844
+ */
845
+ export declare function queryMenus(): MenusQueryBuilder;
846
+ interface QueryCursorResult {
847
+ cursors: Cursors;
848
+ hasNext: () => boolean;
849
+ hasPrev: () => boolean;
850
+ length: number;
851
+ pageSize: number;
852
+ }
853
+ export interface MenusQueryResult extends QueryCursorResult {
854
+ items: Menu[];
855
+ query: MenusQueryBuilder;
856
+ next: () => Promise<MenusQueryResult>;
857
+ prev: () => Promise<MenusQueryResult>;
858
+ }
859
+ export interface MenusQueryBuilder {
860
+ /** @param propertyName - Property whose value is compared with `value`.
861
+ * @param value - Value to compare against.
862
+ * @documentationMaturity preview
863
+ */
864
+ eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'urlQueryParam', value: any) => MenusQueryBuilder;
865
+ /** @param propertyName - Property whose value is compared with `value`.
866
+ * @param value - Value to compare against.
867
+ * @documentationMaturity preview
868
+ */
869
+ ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'visible' | 'urlQueryParam', value: any) => MenusQueryBuilder;
870
+ /** @param propertyName - Property whose value is compared with `value`.
871
+ * @param value - Value to compare against.
872
+ * @documentationMaturity preview
873
+ */
874
+ ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;
875
+ /** @param propertyName - Property whose value is compared with `value`.
876
+ * @param value - Value to compare against.
877
+ * @documentationMaturity preview
878
+ */
879
+ gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;
880
+ /** @param propertyName - Property whose value is compared with `value`.
881
+ * @param value - Value to compare against.
882
+ * @documentationMaturity preview
883
+ */
884
+ le: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;
885
+ /** @param propertyName - Property whose value is compared with `value`.
886
+ * @param value - Value to compare against.
887
+ * @documentationMaturity preview
888
+ */
889
+ lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => MenusQueryBuilder;
890
+ /** @param propertyName - Property whose value is compared with `string`.
891
+ * @param string - String to compare against. Case-insensitive.
892
+ * @documentationMaturity preview
893
+ */
894
+ startsWith: (propertyName: 'name' | 'description' | 'urlQueryParam', value: string) => MenusQueryBuilder;
895
+ /** @documentationMaturity preview */
896
+ in: (propertyName: '_id' | 'name' | 'description' | 'urlQueryParam', value: any) => MenusQueryBuilder;
897
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
898
+ * @documentationMaturity preview
899
+ */
900
+ ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate'>) => MenusQueryBuilder;
901
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
902
+ * @documentationMaturity preview
903
+ */
904
+ descending: (...propertyNames: Array<'_createdDate' | '_updatedDate'>) => MenusQueryBuilder;
905
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
906
+ * @documentationMaturity preview
907
+ */
908
+ limit: (limit: number) => MenusQueryBuilder;
909
+ /** @param cursor - A pointer to specific record
910
+ * @documentationMaturity preview
911
+ */
912
+ skipTo: (cursor: string) => MenusQueryBuilder;
913
+ /** @documentationMaturity preview */
914
+ find: () => Promise<MenusQueryResult>;
915
+ }
916
+ /**
917
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
918
+ *
919
+ * Updates a menu.
920
+ *
921
+ * To update multiple menus at once, use [Bulk Update Menu](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/menu/bulk-update-menu).
922
+ *
923
+ * Each time a menu is updated, its revision increments by 1. The existing revision must be included when updating a menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.
924
+ * @param _id - Menu ID.
925
+ * @public
926
+ * @documentationMaturity preview
927
+ * @requiredField _id
928
+ * @requiredField menu
929
+ * @requiredField menu.revision
930
+ * @permissionId RESTAURANTS.MENU_UPDATE
931
+ * @permissionScope Manage Bookings Services and Settings
932
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
933
+ * @permissionScope Manage Portfolio
934
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
935
+ * @permissionScope Manage Restaurants - all permissions
936
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
937
+ * @applicableIdentity APP
938
+ * @returns Updated menu.
939
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.UpdateMenu
940
+ */
941
+ export declare function updateMenu(_id: string | null, menu: UpdateMenu): Promise<Menu & MenuNonNullableFields>;
942
+ export interface UpdateMenu {
943
+ /**
944
+ * Menu ID.
945
+ * @readonly
946
+ */
947
+ _id?: string | null;
948
+ /**
949
+ * Revision number, which increments by 1 each time the menu is updated. To prevent conflicting changes, the current revision must be passed when updating the menu. Ignored when creating a menu.
950
+ * @readonly
951
+ */
952
+ revision?: string | null;
953
+ /**
954
+ * Date and time the menu was created.
955
+ * @readonly
956
+ */
957
+ _createdDate?: Date | null;
958
+ /**
959
+ * Date and time the menu was updated.
960
+ * @readonly
961
+ */
962
+ _updatedDate?: Date | null;
963
+ /** Menu name. */
964
+ name?: string;
965
+ /** Menu description. */
966
+ description?: string | null;
967
+ /** Whether the menu visible to site visitors. */
968
+ visible?: boolean | null;
969
+ /** Menu section IDs. */
970
+ sectionIds?: string[];
971
+ /** Extended fields. */
972
+ extendedFields?: ExtendedFields;
973
+ /** Part of the site URL, that redirects to the menu. For example, in the URL `www.mywebsite.com/our-menus/dinner-menu`, `dinner-menu` is the field value. */
974
+ urlQueryParam?: string | null;
975
+ /** Custom SEO data for the menu. */
976
+ seoData?: SeoSchema;
977
+ }
978
+ /**
979
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
980
+ *
981
+ * Updates multiple menus at once.
982
+ *
983
+ * Each time a menu is updated, its revision increments by 1. The existing revision must be included when updating the menu. This ensures you're working with the latest menu information, and it prevents unintended overwrites.
984
+ * @param menus - Menus to update.
985
+ * @public
986
+ * @documentationMaturity preview
987
+ * @requiredField menus
988
+ * @requiredField menus.menu._id
989
+ * @requiredField menus.menu.revision
990
+ * @permissionId RESTAURANTS.MENU_UPDATE
991
+ * @permissionScope Manage Bookings Services and Settings
992
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
993
+ * @permissionScope Manage Portfolio
994
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
995
+ * @permissionScope Manage Restaurants - all permissions
996
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
997
+ * @applicableIdentity APP
998
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.BulkUpdateMenu
999
+ */
1000
+ export declare function bulkUpdateMenu(menus: MaskedMenu[], options?: BulkUpdateMenuOptions): Promise<BulkUpdateMenuResponse & BulkUpdateMenuResponseNonNullableFields>;
1001
+ export interface BulkUpdateMenuOptions {
1002
+ /** Whether to receive the entity in the response. */
1003
+ returnEntity?: boolean;
1004
+ }
1005
+ /**
1006
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1007
+ *
1008
+ * Updates only the `extendedFields` field.
1009
+ * @param _id - ID of the entity to update.
1010
+ * @param namespace - Identifier for the app whose extended fields are being updated.
1011
+ * @public
1012
+ * @documentationMaturity preview
1013
+ * @requiredField _id
1014
+ * @requiredField namespace
1015
+ * @requiredField options
1016
+ * @requiredField options.namespaceData
1017
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.UpdateExtendedFields
1018
+ */
1019
+ export declare function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise<UpdateExtendedFieldsResponse & UpdateExtendedFieldsResponseNonNullableFields>;
1020
+ export interface UpdateExtendedFieldsOptions {
1021
+ /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */
1022
+ namespaceData: Record<string, any> | null;
1023
+ }
1024
+ /**
1025
+ * > **Note:** The Menu API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1026
+ *
1027
+ * Deletes a menu.
1028
+ * @param menuId - Menu ID.
1029
+ * @public
1030
+ * @documentationMaturity preview
1031
+ * @requiredField menuId
1032
+ * @permissionId RESTAURANTS.MENU_DELETE
1033
+ * @permissionScope Manage Bookings Services and Settings
1034
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1035
+ * @permissionScope Manage Portfolio
1036
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1037
+ * @permissionScope Manage Restaurants - all permissions
1038
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1039
+ * @applicableIdentity APP
1040
+ * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.DeleteMenu
1041
+ */
1042
+ export declare function deleteMenu(menuId: string): Promise<void>;
1043
+ export {};