@beorchid-llc/thrivo-contracts 0.5.5 → 0.7.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 (41) hide show
  1. package/dist/admin-analytics.d.ts +488 -0
  2. package/dist/admin-analytics.d.ts.map +1 -0
  3. package/dist/admin-analytics.js +46 -0
  4. package/dist/admin-analytics.js.map +1 -0
  5. package/dist/admin-content.d.ts +92 -0
  6. package/dist/admin-content.d.ts.map +1 -0
  7. package/dist/admin-content.js +24 -0
  8. package/dist/admin-content.js.map +1 -0
  9. package/dist/admin-logs.d.ts +55 -0
  10. package/dist/admin-logs.d.ts.map +1 -0
  11. package/dist/admin-logs.js +24 -0
  12. package/dist/admin-logs.js.map +1 -0
  13. package/dist/admin-subscriptions.d.ts +40 -0
  14. package/dist/admin-subscriptions.d.ts.map +1 -0
  15. package/dist/admin-subscriptions.js +22 -0
  16. package/dist/admin-subscriptions.js.map +1 -0
  17. package/dist/admin.d.ts +75 -75
  18. package/dist/checkins.d.ts +130 -0
  19. package/dist/checkins.d.ts.map +1 -0
  20. package/dist/checkins.js +23 -0
  21. package/dist/checkins.js.map +1 -0
  22. package/dist/foods.d.ts +1986 -482
  23. package/dist/foods.d.ts.map +1 -1
  24. package/dist/foods.js +166 -10
  25. package/dist/foods.js.map +1 -1
  26. package/dist/index.d.ts +6 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +6 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/metrics.d.ts +913 -0
  31. package/dist/metrics.d.ts.map +1 -1
  32. package/dist/metrics.js +124 -1
  33. package/dist/metrics.js.map +1 -1
  34. package/dist/push.d.ts +19 -0
  35. package/dist/push.d.ts.map +1 -0
  36. package/dist/push.js +12 -0
  37. package/dist/push.js.map +1 -0
  38. package/dist/settings.d.ts +52 -52
  39. package/dist/subscriptions.d.ts +46 -46
  40. package/dist/users.d.ts +32 -32
  41. package/package.json +1 -1
package/dist/foods.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { z } from "zod";
2
- export declare const mealTypeSchema: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
3
- export type MealType = z.infer<typeof mealTypeSchema>;
2
+ export declare const foodSourceSchema: z.ZodEnum<["barcode", "manual", "search"]>;
3
+ export type FoodSource = z.infer<typeof foodSourceSchema>;
4
+ export declare const portionMeasureSchema: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
5
+ export type PortionMeasure = z.infer<typeof portionMeasureSchema>;
4
6
  export declare const nutrientsSchema: z.ZodObject<{
5
7
  calories: z.ZodNumber;
6
8
  proteinG: z.ZodNumber;
@@ -18,14 +20,129 @@ export declare const nutrientsSchema: z.ZodObject<{
18
20
  fatG: number;
19
21
  }>;
20
22
  export type Nutrients = z.infer<typeof nutrientsSchema>;
23
+ export declare const servingOptionSchema: z.ZodObject<{
24
+ id: z.ZodNullable<z.ZodString>;
25
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
26
+ label: z.ZodString;
27
+ grams: z.ZodNullable<z.ZodNumber>;
28
+ isDefault: z.ZodBoolean;
29
+ }, "strip", z.ZodTypeAny, {
30
+ id: string | null;
31
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
32
+ label: string;
33
+ grams: number | null;
34
+ isDefault: boolean;
35
+ }, {
36
+ id: string | null;
37
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
38
+ label: string;
39
+ grams: number | null;
40
+ isDefault: boolean;
41
+ }>;
42
+ export type ServingOption = z.infer<typeof servingOptionSchema>;
43
+ export declare const foodItemSchema: z.ZodObject<{
44
+ id: z.ZodString;
45
+ name: z.ZodString;
46
+ brand: z.ZodNullable<z.ZodString>;
47
+ barcode: z.ZodNullable<z.ZodString>;
48
+ source: z.ZodEnum<["authoritative", "personal", "community"]>;
49
+ servingLabel: z.ZodString;
50
+ servingGrams: z.ZodNullable<z.ZodNumber>;
51
+ nutrients: z.ZodObject<{
52
+ calories: z.ZodNumber;
53
+ proteinG: z.ZodNumber;
54
+ carbsG: z.ZodNumber;
55
+ fatG: z.ZodNumber;
56
+ }, "strip", z.ZodTypeAny, {
57
+ calories: number;
58
+ proteinG: number;
59
+ carbsG: number;
60
+ fatG: number;
61
+ }, {
62
+ calories: number;
63
+ proteinG: number;
64
+ carbsG: number;
65
+ fatG: number;
66
+ }>;
67
+ servingOptions: z.ZodArray<z.ZodObject<{
68
+ id: z.ZodNullable<z.ZodString>;
69
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
70
+ label: z.ZodString;
71
+ grams: z.ZodNullable<z.ZodNumber>;
72
+ isDefault: z.ZodBoolean;
73
+ }, "strip", z.ZodTypeAny, {
74
+ id: string | null;
75
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
76
+ label: string;
77
+ grams: number | null;
78
+ isDefault: boolean;
79
+ }, {
80
+ id: string | null;
81
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
82
+ label: string;
83
+ grams: number | null;
84
+ isDefault: boolean;
85
+ }>, "many">;
86
+ isPersonal: z.ZodBoolean;
87
+ isEstimated: z.ZodBoolean;
88
+ }, "strip", z.ZodTypeAny, {
89
+ name: string;
90
+ id: string;
91
+ barcode: string | null;
92
+ brand: string | null;
93
+ source: "authoritative" | "personal" | "community";
94
+ servingLabel: string;
95
+ servingGrams: number | null;
96
+ nutrients: {
97
+ calories: number;
98
+ proteinG: number;
99
+ carbsG: number;
100
+ fatG: number;
101
+ };
102
+ servingOptions: {
103
+ id: string | null;
104
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
105
+ label: string;
106
+ grams: number | null;
107
+ isDefault: boolean;
108
+ }[];
109
+ isPersonal: boolean;
110
+ isEstimated: boolean;
111
+ }, {
112
+ name: string;
113
+ id: string;
114
+ barcode: string | null;
115
+ brand: string | null;
116
+ source: "authoritative" | "personal" | "community";
117
+ servingLabel: string;
118
+ servingGrams: number | null;
119
+ nutrients: {
120
+ calories: number;
121
+ proteinG: number;
122
+ carbsG: number;
123
+ fatG: number;
124
+ };
125
+ servingOptions: {
126
+ id: string | null;
127
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
128
+ label: string;
129
+ grams: number | null;
130
+ isDefault: boolean;
131
+ }[];
132
+ isPersonal: boolean;
133
+ isEstimated: boolean;
134
+ }>;
135
+ export type FoodItem = z.infer<typeof foodItemSchema>;
21
136
  export declare const foodLogEntrySchema: z.ZodObject<{
22
137
  id: z.ZodString;
23
138
  foodItemId: z.ZodNullable<z.ZodString>;
24
139
  name: z.ZodString;
25
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
26
140
  day: z.ZodString;
27
141
  servings: z.ZodNumber;
28
142
  servingUnit: z.ZodNullable<z.ZodString>;
143
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
144
+ barcode: z.ZodNullable<z.ZodString>;
145
+ isEstimated: z.ZodBoolean;
29
146
  nutrients: z.ZodObject<{
30
147
  calories: z.ZodNumber;
31
148
  proteinG: z.ZodNumber;
@@ -42,36 +159,43 @@ export declare const foodLogEntrySchema: z.ZodObject<{
42
159
  carbsG: number;
43
160
  fatG: number;
44
161
  }>;
162
+ consumedAt: z.ZodString;
45
163
  loggedAt: z.ZodString;
46
164
  }, "strip", z.ZodTypeAny, {
47
- id: string;
48
165
  name: string;
49
- foodItemId: string | null;
50
- meal: "breakfast" | "lunch" | "dinner" | "snack";
166
+ id: string;
51
167
  day: string;
52
- servings: number;
53
- servingUnit: string | null;
168
+ barcode: string | null;
169
+ source: "barcode" | "manual" | "search";
54
170
  nutrients: {
55
171
  calories: number;
56
172
  proteinG: number;
57
173
  carbsG: number;
58
174
  fatG: number;
59
175
  };
176
+ isEstimated: boolean;
177
+ foodItemId: string | null;
178
+ servings: number;
179
+ servingUnit: string | null;
180
+ consumedAt: string;
60
181
  loggedAt: string;
61
182
  }, {
62
- id: string;
63
183
  name: string;
64
- foodItemId: string | null;
65
- meal: "breakfast" | "lunch" | "dinner" | "snack";
184
+ id: string;
66
185
  day: string;
67
- servings: number;
68
- servingUnit: string | null;
186
+ barcode: string | null;
187
+ source: "barcode" | "manual" | "search";
69
188
  nutrients: {
70
189
  calories: number;
71
190
  proteinG: number;
72
191
  carbsG: number;
73
192
  fatG: number;
74
193
  };
194
+ isEstimated: boolean;
195
+ foodItemId: string | null;
196
+ servings: number;
197
+ servingUnit: string | null;
198
+ consumedAt: string;
75
199
  loggedAt: string;
76
200
  }>;
77
201
  export type FoodLogEntry = z.infer<typeof foodLogEntrySchema>;
@@ -82,31 +206,225 @@ export declare const dailyTotalsSchema: z.ZodObject<{
82
206
  carbsG: z.ZodNumber;
83
207
  fatG: z.ZodNumber;
84
208
  }, "strip", z.ZodTypeAny, {
209
+ day: string;
85
210
  calories: number;
86
211
  proteinG: number;
87
212
  carbsG: number;
88
213
  fatG: number;
89
- day: string;
90
214
  }, {
215
+ day: string;
91
216
  calories: number;
92
217
  proteinG: number;
93
218
  carbsG: number;
94
219
  fatG: number;
95
- day: string;
96
220
  }>;
97
221
  export type DailyTotals = z.infer<typeof dailyTotalsSchema>;
98
- export declare const mealGroupSchema: z.ZodObject<{
99
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
100
- label: z.ZodString;
101
- calories: z.ZodNumber;
222
+ export declare const foodLogDayQuerySchema: z.ZodObject<{
223
+ date: z.ZodString;
224
+ }, "strip", z.ZodTypeAny, {
225
+ date: string;
226
+ }, {
227
+ date: string;
228
+ }>;
229
+ export declare const foodLogDayResponseSchema: z.ZodObject<{
230
+ success: z.ZodLiteral<true>;
231
+ data: z.ZodObject<{
232
+ day: z.ZodString;
233
+ entries: z.ZodArray<z.ZodObject<{
234
+ id: z.ZodString;
235
+ foodItemId: z.ZodNullable<z.ZodString>;
236
+ name: z.ZodString;
237
+ day: z.ZodString;
238
+ servings: z.ZodNumber;
239
+ servingUnit: z.ZodNullable<z.ZodString>;
240
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
241
+ barcode: z.ZodNullable<z.ZodString>;
242
+ isEstimated: z.ZodBoolean;
243
+ nutrients: z.ZodObject<{
244
+ calories: z.ZodNumber;
245
+ proteinG: z.ZodNumber;
246
+ carbsG: z.ZodNumber;
247
+ fatG: z.ZodNumber;
248
+ }, "strip", z.ZodTypeAny, {
249
+ calories: number;
250
+ proteinG: number;
251
+ carbsG: number;
252
+ fatG: number;
253
+ }, {
254
+ calories: number;
255
+ proteinG: number;
256
+ carbsG: number;
257
+ fatG: number;
258
+ }>;
259
+ consumedAt: z.ZodString;
260
+ loggedAt: z.ZodString;
261
+ }, "strip", z.ZodTypeAny, {
262
+ name: string;
263
+ id: string;
264
+ day: string;
265
+ barcode: string | null;
266
+ source: "barcode" | "manual" | "search";
267
+ nutrients: {
268
+ calories: number;
269
+ proteinG: number;
270
+ carbsG: number;
271
+ fatG: number;
272
+ };
273
+ isEstimated: boolean;
274
+ foodItemId: string | null;
275
+ servings: number;
276
+ servingUnit: string | null;
277
+ consumedAt: string;
278
+ loggedAt: string;
279
+ }, {
280
+ name: string;
281
+ id: string;
282
+ day: string;
283
+ barcode: string | null;
284
+ source: "barcode" | "manual" | "search";
285
+ nutrients: {
286
+ calories: number;
287
+ proteinG: number;
288
+ carbsG: number;
289
+ fatG: number;
290
+ };
291
+ isEstimated: boolean;
292
+ foodItemId: string | null;
293
+ servings: number;
294
+ servingUnit: string | null;
295
+ consumedAt: string;
296
+ loggedAt: string;
297
+ }>, "many">;
298
+ isEmptyDay: z.ZodBoolean;
299
+ }, "strip", z.ZodTypeAny, {
300
+ entries: {
301
+ name: string;
302
+ id: string;
303
+ day: string;
304
+ barcode: string | null;
305
+ source: "barcode" | "manual" | "search";
306
+ nutrients: {
307
+ calories: number;
308
+ proteinG: number;
309
+ carbsG: number;
310
+ fatG: number;
311
+ };
312
+ isEstimated: boolean;
313
+ foodItemId: string | null;
314
+ servings: number;
315
+ servingUnit: string | null;
316
+ consumedAt: string;
317
+ loggedAt: string;
318
+ }[];
319
+ day: string;
320
+ isEmptyDay: boolean;
321
+ }, {
322
+ entries: {
323
+ name: string;
324
+ id: string;
325
+ day: string;
326
+ barcode: string | null;
327
+ source: "barcode" | "manual" | "search";
328
+ nutrients: {
329
+ calories: number;
330
+ proteinG: number;
331
+ carbsG: number;
332
+ fatG: number;
333
+ };
334
+ isEstimated: boolean;
335
+ foodItemId: string | null;
336
+ servings: number;
337
+ servingUnit: string | null;
338
+ consumedAt: string;
339
+ loggedAt: string;
340
+ }[];
341
+ day: string;
342
+ isEmptyDay: boolean;
343
+ }>;
344
+ responseCode: z.ZodNumber;
345
+ message: z.ZodString;
346
+ }, "strip", z.ZodTypeAny, {
347
+ message: string;
348
+ success: true;
349
+ responseCode: number;
350
+ data: {
351
+ entries: {
352
+ name: string;
353
+ id: string;
354
+ day: string;
355
+ barcode: string | null;
356
+ source: "barcode" | "manual" | "search";
357
+ nutrients: {
358
+ calories: number;
359
+ proteinG: number;
360
+ carbsG: number;
361
+ fatG: number;
362
+ };
363
+ isEstimated: boolean;
364
+ foodItemId: string | null;
365
+ servings: number;
366
+ servingUnit: string | null;
367
+ consumedAt: string;
368
+ loggedAt: string;
369
+ }[];
370
+ day: string;
371
+ isEmptyDay: boolean;
372
+ };
373
+ }, {
374
+ message: string;
375
+ success: true;
376
+ responseCode: number;
377
+ data: {
378
+ entries: {
379
+ name: string;
380
+ id: string;
381
+ day: string;
382
+ barcode: string | null;
383
+ source: "barcode" | "manual" | "search";
384
+ nutrients: {
385
+ calories: number;
386
+ proteinG: number;
387
+ carbsG: number;
388
+ fatG: number;
389
+ };
390
+ isEstimated: boolean;
391
+ foodItemId: string | null;
392
+ servings: number;
393
+ servingUnit: string | null;
394
+ consumedAt: string;
395
+ loggedAt: string;
396
+ }[];
397
+ day: string;
398
+ isEmptyDay: boolean;
399
+ };
400
+ }>;
401
+ export declare const foodLogHistoryQuerySchema: z.ZodObject<{
402
+ cursor: z.ZodOptional<z.ZodString>;
403
+ from: z.ZodOptional<z.ZodString>;
404
+ to: z.ZodOptional<z.ZodString>;
405
+ }, "strip", z.ZodTypeAny, {
406
+ to?: string | undefined;
407
+ cursor?: string | undefined;
408
+ from?: string | undefined;
409
+ }, {
410
+ to?: string | undefined;
411
+ cursor?: string | undefined;
412
+ from?: string | undefined;
413
+ }>;
414
+ export declare const historyDaySchema: z.ZodObject<{
415
+ day: z.ZodString;
416
+ isLocked: z.ZodBoolean;
417
+ lockReason: z.ZodNullable<z.ZodEnum<["free_history_limit"]>>;
102
418
  entries: z.ZodArray<z.ZodObject<{
103
419
  id: z.ZodString;
104
420
  foodItemId: z.ZodNullable<z.ZodString>;
105
421
  name: z.ZodString;
106
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
107
422
  day: z.ZodString;
108
423
  servings: z.ZodNumber;
109
424
  servingUnit: z.ZodNullable<z.ZodString>;
425
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
426
+ barcode: z.ZodNullable<z.ZodString>;
427
+ isEstimated: z.ZodBoolean;
110
428
  nutrients: z.ZodObject<{
111
429
  calories: z.ZodNumber;
112
430
  proteinG: z.ZodNumber;
@@ -123,103 +441,110 @@ export declare const mealGroupSchema: z.ZodObject<{
123
441
  carbsG: number;
124
442
  fatG: number;
125
443
  }>;
444
+ consumedAt: z.ZodString;
126
445
  loggedAt: z.ZodString;
127
446
  }, "strip", z.ZodTypeAny, {
128
- id: string;
129
447
  name: string;
130
- foodItemId: string | null;
131
- meal: "breakfast" | "lunch" | "dinner" | "snack";
448
+ id: string;
132
449
  day: string;
133
- servings: number;
134
- servingUnit: string | null;
450
+ barcode: string | null;
451
+ source: "barcode" | "manual" | "search";
135
452
  nutrients: {
136
453
  calories: number;
137
454
  proteinG: number;
138
455
  carbsG: number;
139
456
  fatG: number;
140
457
  };
458
+ isEstimated: boolean;
459
+ foodItemId: string | null;
460
+ servings: number;
461
+ servingUnit: string | null;
462
+ consumedAt: string;
141
463
  loggedAt: string;
142
464
  }, {
143
- id: string;
144
465
  name: string;
145
- foodItemId: string | null;
146
- meal: "breakfast" | "lunch" | "dinner" | "snack";
466
+ id: string;
147
467
  day: string;
148
- servings: number;
149
- servingUnit: string | null;
468
+ barcode: string | null;
469
+ source: "barcode" | "manual" | "search";
150
470
  nutrients: {
151
471
  calories: number;
152
472
  proteinG: number;
153
473
  carbsG: number;
154
474
  fatG: number;
155
475
  };
476
+ isEstimated: boolean;
477
+ foodItemId: string | null;
478
+ servings: number;
479
+ servingUnit: string | null;
480
+ consumedAt: string;
156
481
  loggedAt: string;
157
482
  }>, "many">;
158
483
  }, "strip", z.ZodTypeAny, {
159
484
  entries: {
160
- id: string;
161
485
  name: string;
162
- foodItemId: string | null;
163
- meal: "breakfast" | "lunch" | "dinner" | "snack";
486
+ id: string;
164
487
  day: string;
165
- servings: number;
166
- servingUnit: string | null;
488
+ barcode: string | null;
489
+ source: "barcode" | "manual" | "search";
167
490
  nutrients: {
168
491
  calories: number;
169
492
  proteinG: number;
170
493
  carbsG: number;
171
494
  fatG: number;
172
495
  };
496
+ isEstimated: boolean;
497
+ foodItemId: string | null;
498
+ servings: number;
499
+ servingUnit: string | null;
500
+ consumedAt: string;
173
501
  loggedAt: string;
174
502
  }[];
175
- calories: number;
176
- meal: "breakfast" | "lunch" | "dinner" | "snack";
177
- label: string;
503
+ day: string;
504
+ isLocked: boolean;
505
+ lockReason: "free_history_limit" | null;
178
506
  }, {
179
507
  entries: {
180
- id: string;
181
508
  name: string;
182
- foodItemId: string | null;
183
- meal: "breakfast" | "lunch" | "dinner" | "snack";
509
+ id: string;
184
510
  day: string;
185
- servings: number;
186
- servingUnit: string | null;
511
+ barcode: string | null;
512
+ source: "barcode" | "manual" | "search";
187
513
  nutrients: {
188
514
  calories: number;
189
515
  proteinG: number;
190
516
  carbsG: number;
191
517
  fatG: number;
192
518
  };
519
+ isEstimated: boolean;
520
+ foodItemId: string | null;
521
+ servings: number;
522
+ servingUnit: string | null;
523
+ consumedAt: string;
193
524
  loggedAt: string;
194
525
  }[];
195
- calories: number;
196
- meal: "breakfast" | "lunch" | "dinner" | "snack";
197
- label: string;
198
- }>;
199
- export type MealGroup = z.infer<typeof mealGroupSchema>;
200
- export declare const foodLogDayQuerySchema: z.ZodObject<{
201
- date: z.ZodString;
202
- }, "strip", z.ZodTypeAny, {
203
- date: string;
204
- }, {
205
- date: string;
526
+ day: string;
527
+ isLocked: boolean;
528
+ lockReason: "free_history_limit" | null;
206
529
  }>;
207
- export declare const foodLogDayResponseSchema: z.ZodObject<{
530
+ export type HistoryDay = z.infer<typeof historyDaySchema>;
531
+ export declare const foodLogHistoryResponseSchema: z.ZodObject<{
208
532
  success: z.ZodLiteral<true>;
209
533
  data: z.ZodObject<{
210
- day: z.ZodString;
211
- groups: z.ZodArray<z.ZodObject<{
212
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
213
- label: z.ZodString;
214
- calories: z.ZodNumber;
534
+ days: z.ZodArray<z.ZodObject<{
535
+ day: z.ZodString;
536
+ isLocked: z.ZodBoolean;
537
+ lockReason: z.ZodNullable<z.ZodEnum<["free_history_limit"]>>;
215
538
  entries: z.ZodArray<z.ZodObject<{
216
539
  id: z.ZodString;
217
540
  foodItemId: z.ZodNullable<z.ZodString>;
218
541
  name: z.ZodString;
219
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
220
542
  day: z.ZodString;
221
543
  servings: z.ZodNumber;
222
544
  servingUnit: z.ZodNullable<z.ZodString>;
545
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
546
+ barcode: z.ZodNullable<z.ZodString>;
547
+ isEstimated: z.ZodBoolean;
223
548
  nutrients: z.ZodObject<{
224
549
  calories: z.ZodNumber;
225
550
  proteinG: z.ZodNumber;
@@ -236,128 +561,145 @@ export declare const foodLogDayResponseSchema: z.ZodObject<{
236
561
  carbsG: number;
237
562
  fatG: number;
238
563
  }>;
564
+ consumedAt: z.ZodString;
239
565
  loggedAt: z.ZodString;
240
566
  }, "strip", z.ZodTypeAny, {
241
- id: string;
242
567
  name: string;
243
- foodItemId: string | null;
244
- meal: "breakfast" | "lunch" | "dinner" | "snack";
568
+ id: string;
245
569
  day: string;
246
- servings: number;
247
- servingUnit: string | null;
570
+ barcode: string | null;
571
+ source: "barcode" | "manual" | "search";
248
572
  nutrients: {
249
573
  calories: number;
250
574
  proteinG: number;
251
575
  carbsG: number;
252
576
  fatG: number;
253
577
  };
578
+ isEstimated: boolean;
579
+ foodItemId: string | null;
580
+ servings: number;
581
+ servingUnit: string | null;
582
+ consumedAt: string;
254
583
  loggedAt: string;
255
584
  }, {
256
- id: string;
257
585
  name: string;
258
- foodItemId: string | null;
259
- meal: "breakfast" | "lunch" | "dinner" | "snack";
586
+ id: string;
260
587
  day: string;
261
- servings: number;
262
- servingUnit: string | null;
588
+ barcode: string | null;
589
+ source: "barcode" | "manual" | "search";
263
590
  nutrients: {
264
591
  calories: number;
265
592
  proteinG: number;
266
593
  carbsG: number;
267
594
  fatG: number;
268
595
  };
596
+ isEstimated: boolean;
597
+ foodItemId: string | null;
598
+ servings: number;
599
+ servingUnit: string | null;
600
+ consumedAt: string;
269
601
  loggedAt: string;
270
602
  }>, "many">;
271
603
  }, "strip", z.ZodTypeAny, {
272
604
  entries: {
273
- id: string;
274
605
  name: string;
275
- foodItemId: string | null;
276
- meal: "breakfast" | "lunch" | "dinner" | "snack";
606
+ id: string;
277
607
  day: string;
278
- servings: number;
279
- servingUnit: string | null;
608
+ barcode: string | null;
609
+ source: "barcode" | "manual" | "search";
280
610
  nutrients: {
281
611
  calories: number;
282
612
  proteinG: number;
283
613
  carbsG: number;
284
614
  fatG: number;
285
615
  };
616
+ isEstimated: boolean;
617
+ foodItemId: string | null;
618
+ servings: number;
619
+ servingUnit: string | null;
620
+ consumedAt: string;
286
621
  loggedAt: string;
287
622
  }[];
288
- calories: number;
289
- meal: "breakfast" | "lunch" | "dinner" | "snack";
290
- label: string;
623
+ day: string;
624
+ isLocked: boolean;
625
+ lockReason: "free_history_limit" | null;
291
626
  }, {
292
627
  entries: {
293
- id: string;
294
628
  name: string;
295
- foodItemId: string | null;
296
- meal: "breakfast" | "lunch" | "dinner" | "snack";
629
+ id: string;
297
630
  day: string;
298
- servings: number;
299
- servingUnit: string | null;
631
+ barcode: string | null;
632
+ source: "barcode" | "manual" | "search";
300
633
  nutrients: {
301
634
  calories: number;
302
635
  proteinG: number;
303
636
  carbsG: number;
304
637
  fatG: number;
305
638
  };
639
+ isEstimated: boolean;
640
+ foodItemId: string | null;
641
+ servings: number;
642
+ servingUnit: string | null;
643
+ consumedAt: string;
306
644
  loggedAt: string;
307
645
  }[];
308
- calories: number;
309
- meal: "breakfast" | "lunch" | "dinner" | "snack";
310
- label: string;
646
+ day: string;
647
+ isLocked: boolean;
648
+ lockReason: "free_history_limit" | null;
311
649
  }>, "many">;
312
- isEmptyDay: z.ZodBoolean;
650
+ historyLimitDays: z.ZodNumber;
313
651
  }, "strip", z.ZodTypeAny, {
314
- day: string;
315
- groups: {
652
+ days: {
316
653
  entries: {
317
- id: string;
318
654
  name: string;
319
- foodItemId: string | null;
320
- meal: "breakfast" | "lunch" | "dinner" | "snack";
655
+ id: string;
321
656
  day: string;
322
- servings: number;
323
- servingUnit: string | null;
657
+ barcode: string | null;
658
+ source: "barcode" | "manual" | "search";
324
659
  nutrients: {
325
660
  calories: number;
326
661
  proteinG: number;
327
662
  carbsG: number;
328
663
  fatG: number;
329
664
  };
665
+ isEstimated: boolean;
666
+ foodItemId: string | null;
667
+ servings: number;
668
+ servingUnit: string | null;
669
+ consumedAt: string;
330
670
  loggedAt: string;
331
671
  }[];
332
- calories: number;
333
- meal: "breakfast" | "lunch" | "dinner" | "snack";
334
- label: string;
672
+ day: string;
673
+ isLocked: boolean;
674
+ lockReason: "free_history_limit" | null;
335
675
  }[];
336
- isEmptyDay: boolean;
676
+ historyLimitDays: number;
337
677
  }, {
338
- day: string;
339
- groups: {
678
+ days: {
340
679
  entries: {
341
- id: string;
342
680
  name: string;
343
- foodItemId: string | null;
344
- meal: "breakfast" | "lunch" | "dinner" | "snack";
681
+ id: string;
345
682
  day: string;
346
- servings: number;
347
- servingUnit: string | null;
683
+ barcode: string | null;
684
+ source: "barcode" | "manual" | "search";
348
685
  nutrients: {
349
686
  calories: number;
350
687
  proteinG: number;
351
688
  carbsG: number;
352
689
  fatG: number;
353
690
  };
691
+ isEstimated: boolean;
692
+ foodItemId: string | null;
693
+ servings: number;
694
+ servingUnit: string | null;
695
+ consumedAt: string;
354
696
  loggedAt: string;
355
697
  }[];
356
- calories: number;
357
- meal: "breakfast" | "lunch" | "dinner" | "snack";
358
- label: string;
698
+ day: string;
699
+ isLocked: boolean;
700
+ lockReason: "free_history_limit" | null;
359
701
  }[];
360
- isEmptyDay: boolean;
702
+ historyLimitDays: number;
361
703
  }>;
362
704
  responseCode: z.ZodNumber;
363
705
  message: z.ZodString;
@@ -366,89 +708,82 @@ export declare const foodLogDayResponseSchema: z.ZodObject<{
366
708
  success: true;
367
709
  responseCode: number;
368
710
  data: {
369
- day: string;
370
- groups: {
711
+ days: {
371
712
  entries: {
372
- id: string;
373
713
  name: string;
374
- foodItemId: string | null;
375
- meal: "breakfast" | "lunch" | "dinner" | "snack";
714
+ id: string;
376
715
  day: string;
377
- servings: number;
378
- servingUnit: string | null;
716
+ barcode: string | null;
717
+ source: "barcode" | "manual" | "search";
379
718
  nutrients: {
380
719
  calories: number;
381
720
  proteinG: number;
382
721
  carbsG: number;
383
722
  fatG: number;
384
723
  };
724
+ isEstimated: boolean;
725
+ foodItemId: string | null;
726
+ servings: number;
727
+ servingUnit: string | null;
728
+ consumedAt: string;
385
729
  loggedAt: string;
386
730
  }[];
387
- calories: number;
388
- meal: "breakfast" | "lunch" | "dinner" | "snack";
389
- label: string;
731
+ day: string;
732
+ isLocked: boolean;
733
+ lockReason: "free_history_limit" | null;
390
734
  }[];
391
- isEmptyDay: boolean;
735
+ historyLimitDays: number;
392
736
  };
393
737
  }, {
394
738
  message: string;
395
739
  success: true;
396
740
  responseCode: number;
397
741
  data: {
398
- day: string;
399
- groups: {
742
+ days: {
400
743
  entries: {
401
- id: string;
402
744
  name: string;
403
- foodItemId: string | null;
404
- meal: "breakfast" | "lunch" | "dinner" | "snack";
745
+ id: string;
405
746
  day: string;
406
- servings: number;
407
- servingUnit: string | null;
747
+ barcode: string | null;
748
+ source: "barcode" | "manual" | "search";
408
749
  nutrients: {
409
750
  calories: number;
410
751
  proteinG: number;
411
752
  carbsG: number;
412
753
  fatG: number;
413
754
  };
755
+ isEstimated: boolean;
756
+ foodItemId: string | null;
757
+ servings: number;
758
+ servingUnit: string | null;
759
+ consumedAt: string;
414
760
  loggedAt: string;
415
761
  }[];
416
- calories: number;
417
- meal: "breakfast" | "lunch" | "dinner" | "snack";
418
- label: string;
762
+ day: string;
763
+ isLocked: boolean;
764
+ lockReason: "free_history_limit" | null;
419
765
  }[];
420
- isEmptyDay: boolean;
766
+ historyLimitDays: number;
421
767
  };
422
768
  }>;
423
- export declare const foodLogHistoryQuerySchema: z.ZodObject<{
424
- cursor: z.ZodOptional<z.ZodString>;
425
- from: z.ZodOptional<z.ZodString>;
426
- to: z.ZodOptional<z.ZodString>;
769
+ export declare const foodLookupQuerySchema: z.ZodObject<{
770
+ barcode: z.ZodString;
427
771
  }, "strip", z.ZodTypeAny, {
428
- cursor?: string | undefined;
429
- from?: string | undefined;
430
- to?: string | undefined;
772
+ barcode: string;
431
773
  }, {
432
- cursor?: string | undefined;
433
- from?: string | undefined;
434
- to?: string | undefined;
774
+ barcode: string;
435
775
  }>;
436
- export declare const historyDaySchema: z.ZodObject<{
437
- day: z.ZodString;
438
- isLocked: z.ZodBoolean;
439
- lockReason: z.ZodNullable<z.ZodEnum<["free_history_limit"]>>;
440
- groups: z.ZodArray<z.ZodObject<{
441
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
442
- label: z.ZodString;
443
- calories: z.ZodNumber;
444
- entries: z.ZodArray<z.ZodObject<{
776
+ export declare const foodLookupResponseSchema: z.ZodObject<{
777
+ success: z.ZodLiteral<true>;
778
+ data: z.ZodObject<{
779
+ food: z.ZodNullable<z.ZodObject<{
445
780
  id: z.ZodString;
446
- foodItemId: z.ZodNullable<z.ZodString>;
447
781
  name: z.ZodString;
448
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
449
- day: z.ZodString;
450
- servings: z.ZodNumber;
451
- servingUnit: z.ZodNullable<z.ZodString>;
782
+ brand: z.ZodNullable<z.ZodString>;
783
+ barcode: z.ZodNullable<z.ZodString>;
784
+ source: z.ZodEnum<["authoritative", "personal", "community"]>;
785
+ servingLabel: z.ZodString;
786
+ servingGrams: z.ZodNullable<z.ZodNumber>;
452
787
  nutrients: z.ZodObject<{
453
788
  calories: z.ZodNumber;
454
789
  proteinG: z.ZodNumber;
@@ -465,347 +800,343 @@ export declare const historyDaySchema: z.ZodObject<{
465
800
  carbsG: number;
466
801
  fatG: number;
467
802
  }>;
468
- loggedAt: z.ZodString;
803
+ servingOptions: z.ZodArray<z.ZodObject<{
804
+ id: z.ZodNullable<z.ZodString>;
805
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
806
+ label: z.ZodString;
807
+ grams: z.ZodNullable<z.ZodNumber>;
808
+ isDefault: z.ZodBoolean;
809
+ }, "strip", z.ZodTypeAny, {
810
+ id: string | null;
811
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
812
+ label: string;
813
+ grams: number | null;
814
+ isDefault: boolean;
815
+ }, {
816
+ id: string | null;
817
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
818
+ label: string;
819
+ grams: number | null;
820
+ isDefault: boolean;
821
+ }>, "many">;
822
+ isPersonal: z.ZodBoolean;
823
+ isEstimated: z.ZodBoolean;
469
824
  }, "strip", z.ZodTypeAny, {
470
- id: string;
471
825
  name: string;
472
- foodItemId: string | null;
473
- meal: "breakfast" | "lunch" | "dinner" | "snack";
474
- day: string;
475
- servings: number;
476
- servingUnit: string | null;
826
+ id: string;
827
+ barcode: string | null;
828
+ brand: string | null;
829
+ source: "authoritative" | "personal" | "community";
830
+ servingLabel: string;
831
+ servingGrams: number | null;
477
832
  nutrients: {
478
833
  calories: number;
479
834
  proteinG: number;
480
835
  carbsG: number;
481
836
  fatG: number;
482
837
  };
483
- loggedAt: string;
838
+ servingOptions: {
839
+ id: string | null;
840
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
841
+ label: string;
842
+ grams: number | null;
843
+ isDefault: boolean;
844
+ }[];
845
+ isPersonal: boolean;
846
+ isEstimated: boolean;
484
847
  }, {
485
- id: string;
486
848
  name: string;
487
- foodItemId: string | null;
488
- meal: "breakfast" | "lunch" | "dinner" | "snack";
489
- day: string;
490
- servings: number;
491
- servingUnit: string | null;
849
+ id: string;
850
+ barcode: string | null;
851
+ brand: string | null;
852
+ source: "authoritative" | "personal" | "community";
853
+ servingLabel: string;
854
+ servingGrams: number | null;
492
855
  nutrients: {
493
856
  calories: number;
494
857
  proteinG: number;
495
858
  carbsG: number;
496
859
  fatG: number;
497
860
  };
498
- loggedAt: string;
499
- }>, "many">;
861
+ servingOptions: {
862
+ id: string | null;
863
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
864
+ label: string;
865
+ grams: number | null;
866
+ isDefault: boolean;
867
+ }[];
868
+ isPersonal: boolean;
869
+ isEstimated: boolean;
870
+ }>>;
500
871
  }, "strip", z.ZodTypeAny, {
501
- entries: {
502
- id: string;
872
+ food: {
503
873
  name: string;
504
- foodItemId: string | null;
505
- meal: "breakfast" | "lunch" | "dinner" | "snack";
506
- day: string;
507
- servings: number;
508
- servingUnit: string | null;
874
+ id: string;
875
+ barcode: string | null;
876
+ brand: string | null;
877
+ source: "authoritative" | "personal" | "community";
878
+ servingLabel: string;
879
+ servingGrams: number | null;
509
880
  nutrients: {
510
881
  calories: number;
511
882
  proteinG: number;
512
883
  carbsG: number;
513
884
  fatG: number;
514
885
  };
515
- loggedAt: string;
516
- }[];
517
- calories: number;
518
- meal: "breakfast" | "lunch" | "dinner" | "snack";
519
- label: string;
886
+ servingOptions: {
887
+ id: string | null;
888
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
889
+ label: string;
890
+ grams: number | null;
891
+ isDefault: boolean;
892
+ }[];
893
+ isPersonal: boolean;
894
+ isEstimated: boolean;
895
+ } | null;
520
896
  }, {
521
- entries: {
522
- id: string;
897
+ food: {
523
898
  name: string;
524
- foodItemId: string | null;
525
- meal: "breakfast" | "lunch" | "dinner" | "snack";
526
- day: string;
527
- servings: number;
528
- servingUnit: string | null;
899
+ id: string;
900
+ barcode: string | null;
901
+ brand: string | null;
902
+ source: "authoritative" | "personal" | "community";
903
+ servingLabel: string;
904
+ servingGrams: number | null;
529
905
  nutrients: {
530
906
  calories: number;
531
907
  proteinG: number;
532
908
  carbsG: number;
533
909
  fatG: number;
534
910
  };
535
- loggedAt: string;
536
- }[];
537
- calories: number;
538
- meal: "breakfast" | "lunch" | "dinner" | "snack";
539
- label: string;
540
- }>, "many">;
911
+ servingOptions: {
912
+ id: string | null;
913
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
914
+ label: string;
915
+ grams: number | null;
916
+ isDefault: boolean;
917
+ }[];
918
+ isPersonal: boolean;
919
+ isEstimated: boolean;
920
+ } | null;
921
+ }>;
922
+ responseCode: z.ZodNumber;
923
+ message: z.ZodString;
541
924
  }, "strip", z.ZodTypeAny, {
542
- day: string;
543
- groups: {
544
- entries: {
545
- id: string;
925
+ message: string;
926
+ success: true;
927
+ responseCode: number;
928
+ data: {
929
+ food: {
546
930
  name: string;
547
- foodItemId: string | null;
548
- meal: "breakfast" | "lunch" | "dinner" | "snack";
549
- day: string;
550
- servings: number;
551
- servingUnit: string | null;
931
+ id: string;
932
+ barcode: string | null;
933
+ brand: string | null;
934
+ source: "authoritative" | "personal" | "community";
935
+ servingLabel: string;
936
+ servingGrams: number | null;
552
937
  nutrients: {
553
938
  calories: number;
554
939
  proteinG: number;
555
940
  carbsG: number;
556
941
  fatG: number;
557
942
  };
558
- loggedAt: string;
559
- }[];
560
- calories: number;
561
- meal: "breakfast" | "lunch" | "dinner" | "snack";
562
- label: string;
563
- }[];
564
- isLocked: boolean;
565
- lockReason: "free_history_limit" | null;
943
+ servingOptions: {
944
+ id: string | null;
945
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
946
+ label: string;
947
+ grams: number | null;
948
+ isDefault: boolean;
949
+ }[];
950
+ isPersonal: boolean;
951
+ isEstimated: boolean;
952
+ } | null;
953
+ };
566
954
  }, {
567
- day: string;
568
- groups: {
569
- entries: {
570
- id: string;
571
- name: string;
572
- foodItemId: string | null;
573
- meal: "breakfast" | "lunch" | "dinner" | "snack";
574
- day: string;
575
- servings: number;
576
- servingUnit: string | null;
955
+ message: string;
956
+ success: true;
957
+ responseCode: number;
958
+ data: {
959
+ food: {
960
+ name: string;
961
+ id: string;
962
+ barcode: string | null;
963
+ brand: string | null;
964
+ source: "authoritative" | "personal" | "community";
965
+ servingLabel: string;
966
+ servingGrams: number | null;
577
967
  nutrients: {
578
968
  calories: number;
579
969
  proteinG: number;
580
970
  carbsG: number;
581
971
  fatG: number;
582
972
  };
583
- loggedAt: string;
584
- }[];
585
- calories: number;
586
- meal: "breakfast" | "lunch" | "dinner" | "snack";
587
- label: string;
588
- }[];
589
- isLocked: boolean;
590
- lockReason: "free_history_limit" | null;
973
+ servingOptions: {
974
+ id: string | null;
975
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
976
+ label: string;
977
+ grams: number | null;
978
+ isDefault: boolean;
979
+ }[];
980
+ isPersonal: boolean;
981
+ isEstimated: boolean;
982
+ } | null;
983
+ };
591
984
  }>;
592
- export type HistoryDay = z.infer<typeof historyDaySchema>;
593
- export declare const foodLogHistoryResponseSchema: z.ZodObject<{
985
+ export declare const foodSearchQuerySchema: z.ZodObject<{
986
+ q: z.ZodString;
987
+ cursor: z.ZodOptional<z.ZodString>;
988
+ }, "strip", z.ZodTypeAny, {
989
+ q: string;
990
+ cursor?: string | undefined;
991
+ }, {
992
+ q: string;
993
+ cursor?: string | undefined;
994
+ }>;
995
+ export declare const foodSearchResponseSchema: z.ZodObject<{
594
996
  success: z.ZodLiteral<true>;
595
997
  data: z.ZodObject<{
596
- days: z.ZodArray<z.ZodObject<{
597
- day: z.ZodString;
598
- isLocked: z.ZodBoolean;
599
- lockReason: z.ZodNullable<z.ZodEnum<["free_history_limit"]>>;
600
- groups: z.ZodArray<z.ZodObject<{
601
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
602
- label: z.ZodString;
998
+ items: z.ZodArray<z.ZodObject<{
999
+ id: z.ZodString;
1000
+ name: z.ZodString;
1001
+ brand: z.ZodNullable<z.ZodString>;
1002
+ barcode: z.ZodNullable<z.ZodString>;
1003
+ source: z.ZodEnum<["authoritative", "personal", "community"]>;
1004
+ servingLabel: z.ZodString;
1005
+ servingGrams: z.ZodNullable<z.ZodNumber>;
1006
+ nutrients: z.ZodObject<{
603
1007
  calories: z.ZodNumber;
604
- entries: z.ZodArray<z.ZodObject<{
605
- id: z.ZodString;
606
- foodItemId: z.ZodNullable<z.ZodString>;
607
- name: z.ZodString;
608
- meal: z.ZodEnum<["breakfast", "lunch", "dinner", "snack"]>;
609
- day: z.ZodString;
610
- servings: z.ZodNumber;
611
- servingUnit: z.ZodNullable<z.ZodString>;
612
- nutrients: z.ZodObject<{
613
- calories: z.ZodNumber;
614
- proteinG: z.ZodNumber;
615
- carbsG: z.ZodNumber;
616
- fatG: z.ZodNumber;
617
- }, "strip", z.ZodTypeAny, {
618
- calories: number;
619
- proteinG: number;
620
- carbsG: number;
621
- fatG: number;
622
- }, {
623
- calories: number;
624
- proteinG: number;
625
- carbsG: number;
626
- fatG: number;
627
- }>;
628
- loggedAt: z.ZodString;
629
- }, "strip", z.ZodTypeAny, {
630
- id: string;
631
- name: string;
632
- foodItemId: string | null;
633
- meal: "breakfast" | "lunch" | "dinner" | "snack";
634
- day: string;
635
- servings: number;
636
- servingUnit: string | null;
637
- nutrients: {
638
- calories: number;
639
- proteinG: number;
640
- carbsG: number;
641
- fatG: number;
642
- };
643
- loggedAt: string;
644
- }, {
645
- id: string;
646
- name: string;
647
- foodItemId: string | null;
648
- meal: "breakfast" | "lunch" | "dinner" | "snack";
649
- day: string;
650
- servings: number;
651
- servingUnit: string | null;
652
- nutrients: {
653
- calories: number;
654
- proteinG: number;
655
- carbsG: number;
656
- fatG: number;
657
- };
658
- loggedAt: string;
659
- }>, "many">;
1008
+ proteinG: z.ZodNumber;
1009
+ carbsG: z.ZodNumber;
1010
+ fatG: z.ZodNumber;
1011
+ }, "strip", z.ZodTypeAny, {
1012
+ calories: number;
1013
+ proteinG: number;
1014
+ carbsG: number;
1015
+ fatG: number;
1016
+ }, {
1017
+ calories: number;
1018
+ proteinG: number;
1019
+ carbsG: number;
1020
+ fatG: number;
1021
+ }>;
1022
+ servingOptions: z.ZodArray<z.ZodObject<{
1023
+ id: z.ZodNullable<z.ZodString>;
1024
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
1025
+ label: z.ZodString;
1026
+ grams: z.ZodNullable<z.ZodNumber>;
1027
+ isDefault: z.ZodBoolean;
660
1028
  }, "strip", z.ZodTypeAny, {
661
- entries: {
662
- id: string;
663
- name: string;
664
- foodItemId: string | null;
665
- meal: "breakfast" | "lunch" | "dinner" | "snack";
666
- day: string;
667
- servings: number;
668
- servingUnit: string | null;
669
- nutrients: {
670
- calories: number;
671
- proteinG: number;
672
- carbsG: number;
673
- fatG: number;
674
- };
675
- loggedAt: string;
676
- }[];
677
- calories: number;
678
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1029
+ id: string | null;
1030
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
679
1031
  label: string;
1032
+ grams: number | null;
1033
+ isDefault: boolean;
680
1034
  }, {
681
- entries: {
682
- id: string;
683
- name: string;
684
- foodItemId: string | null;
685
- meal: "breakfast" | "lunch" | "dinner" | "snack";
686
- day: string;
687
- servings: number;
688
- servingUnit: string | null;
689
- nutrients: {
690
- calories: number;
691
- proteinG: number;
692
- carbsG: number;
693
- fatG: number;
694
- };
695
- loggedAt: string;
696
- }[];
697
- calories: number;
698
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1035
+ id: string | null;
1036
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
699
1037
  label: string;
1038
+ grams: number | null;
1039
+ isDefault: boolean;
700
1040
  }>, "many">;
1041
+ isPersonal: z.ZodBoolean;
1042
+ isEstimated: z.ZodBoolean;
701
1043
  }, "strip", z.ZodTypeAny, {
702
- day: string;
703
- groups: {
704
- entries: {
705
- id: string;
706
- name: string;
707
- foodItemId: string | null;
708
- meal: "breakfast" | "lunch" | "dinner" | "snack";
709
- day: string;
710
- servings: number;
711
- servingUnit: string | null;
712
- nutrients: {
713
- calories: number;
714
- proteinG: number;
715
- carbsG: number;
716
- fatG: number;
717
- };
718
- loggedAt: string;
719
- }[];
720
- calories: number;
721
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1044
+ name: string;
1045
+ id: string;
1046
+ barcode: string | null;
1047
+ brand: string | null;
1048
+ source: "authoritative" | "personal" | "community";
1049
+ servingLabel: string;
1050
+ servingGrams: number | null;
1051
+ nutrients: {
1052
+ calories: number;
1053
+ proteinG: number;
1054
+ carbsG: number;
1055
+ fatG: number;
1056
+ };
1057
+ servingOptions: {
1058
+ id: string | null;
1059
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
722
1060
  label: string;
1061
+ grams: number | null;
1062
+ isDefault: boolean;
723
1063
  }[];
724
- isLocked: boolean;
725
- lockReason: "free_history_limit" | null;
1064
+ isPersonal: boolean;
1065
+ isEstimated: boolean;
726
1066
  }, {
727
- day: string;
728
- groups: {
729
- entries: {
730
- id: string;
731
- name: string;
732
- foodItemId: string | null;
733
- meal: "breakfast" | "lunch" | "dinner" | "snack";
734
- day: string;
735
- servings: number;
736
- servingUnit: string | null;
737
- nutrients: {
738
- calories: number;
739
- proteinG: number;
740
- carbsG: number;
741
- fatG: number;
742
- };
743
- loggedAt: string;
744
- }[];
745
- calories: number;
746
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1067
+ name: string;
1068
+ id: string;
1069
+ barcode: string | null;
1070
+ brand: string | null;
1071
+ source: "authoritative" | "personal" | "community";
1072
+ servingLabel: string;
1073
+ servingGrams: number | null;
1074
+ nutrients: {
1075
+ calories: number;
1076
+ proteinG: number;
1077
+ carbsG: number;
1078
+ fatG: number;
1079
+ };
1080
+ servingOptions: {
1081
+ id: string | null;
1082
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
747
1083
  label: string;
1084
+ grams: number | null;
1085
+ isDefault: boolean;
748
1086
  }[];
749
- isLocked: boolean;
750
- lockReason: "free_history_limit" | null;
1087
+ isPersonal: boolean;
1088
+ isEstimated: boolean;
751
1089
  }>, "many">;
752
- historyLimitDays: z.ZodNumber;
753
1090
  }, "strip", z.ZodTypeAny, {
754
- days: {
755
- day: string;
756
- groups: {
757
- entries: {
758
- id: string;
759
- name: string;
760
- foodItemId: string | null;
761
- meal: "breakfast" | "lunch" | "dinner" | "snack";
762
- day: string;
763
- servings: number;
764
- servingUnit: string | null;
765
- nutrients: {
766
- calories: number;
767
- proteinG: number;
768
- carbsG: number;
769
- fatG: number;
770
- };
771
- loggedAt: string;
772
- }[];
773
- calories: number;
774
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1091
+ items: {
1092
+ name: string;
1093
+ id: string;
1094
+ barcode: string | null;
1095
+ brand: string | null;
1096
+ source: "authoritative" | "personal" | "community";
1097
+ servingLabel: string;
1098
+ servingGrams: number | null;
1099
+ nutrients: {
1100
+ calories: number;
1101
+ proteinG: number;
1102
+ carbsG: number;
1103
+ fatG: number;
1104
+ };
1105
+ servingOptions: {
1106
+ id: string | null;
1107
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
775
1108
  label: string;
1109
+ grams: number | null;
1110
+ isDefault: boolean;
776
1111
  }[];
777
- isLocked: boolean;
778
- lockReason: "free_history_limit" | null;
1112
+ isPersonal: boolean;
1113
+ isEstimated: boolean;
779
1114
  }[];
780
- historyLimitDays: number;
781
1115
  }, {
782
- days: {
783
- day: string;
784
- groups: {
785
- entries: {
786
- id: string;
787
- name: string;
788
- foodItemId: string | null;
789
- meal: "breakfast" | "lunch" | "dinner" | "snack";
790
- day: string;
791
- servings: number;
792
- servingUnit: string | null;
793
- nutrients: {
794
- calories: number;
795
- proteinG: number;
796
- carbsG: number;
797
- fatG: number;
798
- };
799
- loggedAt: string;
800
- }[];
801
- calories: number;
802
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1116
+ items: {
1117
+ name: string;
1118
+ id: string;
1119
+ barcode: string | null;
1120
+ brand: string | null;
1121
+ source: "authoritative" | "personal" | "community";
1122
+ servingLabel: string;
1123
+ servingGrams: number | null;
1124
+ nutrients: {
1125
+ calories: number;
1126
+ proteinG: number;
1127
+ carbsG: number;
1128
+ fatG: number;
1129
+ };
1130
+ servingOptions: {
1131
+ id: string | null;
1132
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
803
1133
  label: string;
1134
+ grams: number | null;
1135
+ isDefault: boolean;
804
1136
  }[];
805
- isLocked: boolean;
806
- lockReason: "free_history_limit" | null;
1137
+ isPersonal: boolean;
1138
+ isEstimated: boolean;
807
1139
  }[];
808
- historyLimitDays: number;
809
1140
  }>;
810
1141
  responseCode: z.ZodNumber;
811
1142
  message: z.ZodString;
@@ -814,77 +1145,1250 @@ export declare const foodLogHistoryResponseSchema: z.ZodObject<{
814
1145
  success: true;
815
1146
  responseCode: number;
816
1147
  data: {
817
- days: {
818
- day: string;
819
- groups: {
820
- entries: {
821
- id: string;
822
- name: string;
823
- foodItemId: string | null;
824
- meal: "breakfast" | "lunch" | "dinner" | "snack";
825
- day: string;
826
- servings: number;
827
- servingUnit: string | null;
828
- nutrients: {
829
- calories: number;
830
- proteinG: number;
831
- carbsG: number;
832
- fatG: number;
833
- };
834
- loggedAt: string;
835
- }[];
836
- calories: number;
837
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1148
+ items: {
1149
+ name: string;
1150
+ id: string;
1151
+ barcode: string | null;
1152
+ brand: string | null;
1153
+ source: "authoritative" | "personal" | "community";
1154
+ servingLabel: string;
1155
+ servingGrams: number | null;
1156
+ nutrients: {
1157
+ calories: number;
1158
+ proteinG: number;
1159
+ carbsG: number;
1160
+ fatG: number;
1161
+ };
1162
+ servingOptions: {
1163
+ id: string | null;
1164
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
838
1165
  label: string;
1166
+ grams: number | null;
1167
+ isDefault: boolean;
839
1168
  }[];
840
- isLocked: boolean;
841
- lockReason: "free_history_limit" | null;
1169
+ isPersonal: boolean;
1170
+ isEstimated: boolean;
842
1171
  }[];
843
- historyLimitDays: number;
844
1172
  };
845
1173
  }, {
846
1174
  message: string;
847
1175
  success: true;
848
1176
  responseCode: number;
849
1177
  data: {
850
- days: {
851
- day: string;
852
- groups: {
853
- entries: {
854
- id: string;
855
- name: string;
856
- foodItemId: string | null;
857
- meal: "breakfast" | "lunch" | "dinner" | "snack";
858
- day: string;
859
- servings: number;
860
- servingUnit: string | null;
861
- nutrients: {
862
- calories: number;
863
- proteinG: number;
864
- carbsG: number;
865
- fatG: number;
866
- };
867
- loggedAt: string;
868
- }[];
869
- calories: number;
870
- meal: "breakfast" | "lunch" | "dinner" | "snack";
1178
+ items: {
1179
+ name: string;
1180
+ id: string;
1181
+ barcode: string | null;
1182
+ brand: string | null;
1183
+ source: "authoritative" | "personal" | "community";
1184
+ servingLabel: string;
1185
+ servingGrams: number | null;
1186
+ nutrients: {
1187
+ calories: number;
1188
+ proteinG: number;
1189
+ carbsG: number;
1190
+ fatG: number;
1191
+ };
1192
+ servingOptions: {
1193
+ id: string | null;
1194
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
871
1195
  label: string;
1196
+ grams: number | null;
1197
+ isDefault: boolean;
872
1198
  }[];
873
- isLocked: boolean;
874
- lockReason: "free_history_limit" | null;
1199
+ isPersonal: boolean;
1200
+ isEstimated: boolean;
875
1201
  }[];
876
- historyLimitDays: number;
877
1202
  };
878
1203
  }>;
879
- export declare const foodRoutes: {
880
- logDay: {
881
- method: "GET";
882
- path: "/api/v1/foods/log/day";
883
- auth: "user";
1204
+ export declare const foodDetailParamsSchema: z.ZodObject<{
1205
+ id: z.ZodString;
1206
+ }, "strip", z.ZodTypeAny, {
1207
+ id: string;
1208
+ }, {
1209
+ id: string;
1210
+ }>;
1211
+ export declare const foodItemResponseSchema: z.ZodObject<{
1212
+ success: z.ZodLiteral<true>;
1213
+ data: z.ZodObject<{
1214
+ food: z.ZodObject<{
1215
+ id: z.ZodString;
1216
+ name: z.ZodString;
1217
+ brand: z.ZodNullable<z.ZodString>;
1218
+ barcode: z.ZodNullable<z.ZodString>;
1219
+ source: z.ZodEnum<["authoritative", "personal", "community"]>;
1220
+ servingLabel: z.ZodString;
1221
+ servingGrams: z.ZodNullable<z.ZodNumber>;
1222
+ nutrients: z.ZodObject<{
1223
+ calories: z.ZodNumber;
1224
+ proteinG: z.ZodNumber;
1225
+ carbsG: z.ZodNumber;
1226
+ fatG: z.ZodNumber;
1227
+ }, "strip", z.ZodTypeAny, {
1228
+ calories: number;
1229
+ proteinG: number;
1230
+ carbsG: number;
1231
+ fatG: number;
1232
+ }, {
1233
+ calories: number;
1234
+ proteinG: number;
1235
+ carbsG: number;
1236
+ fatG: number;
1237
+ }>;
1238
+ servingOptions: z.ZodArray<z.ZodObject<{
1239
+ id: z.ZodNullable<z.ZodString>;
1240
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
1241
+ label: z.ZodString;
1242
+ grams: z.ZodNullable<z.ZodNumber>;
1243
+ isDefault: z.ZodBoolean;
1244
+ }, "strip", z.ZodTypeAny, {
1245
+ id: string | null;
1246
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1247
+ label: string;
1248
+ grams: number | null;
1249
+ isDefault: boolean;
1250
+ }, {
1251
+ id: string | null;
1252
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1253
+ label: string;
1254
+ grams: number | null;
1255
+ isDefault: boolean;
1256
+ }>, "many">;
1257
+ isPersonal: z.ZodBoolean;
1258
+ isEstimated: z.ZodBoolean;
1259
+ }, "strip", z.ZodTypeAny, {
1260
+ name: string;
1261
+ id: string;
1262
+ barcode: string | null;
1263
+ brand: string | null;
1264
+ source: "authoritative" | "personal" | "community";
1265
+ servingLabel: string;
1266
+ servingGrams: number | null;
1267
+ nutrients: {
1268
+ calories: number;
1269
+ proteinG: number;
1270
+ carbsG: number;
1271
+ fatG: number;
1272
+ };
1273
+ servingOptions: {
1274
+ id: string | null;
1275
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1276
+ label: string;
1277
+ grams: number | null;
1278
+ isDefault: boolean;
1279
+ }[];
1280
+ isPersonal: boolean;
1281
+ isEstimated: boolean;
1282
+ }, {
1283
+ name: string;
1284
+ id: string;
1285
+ barcode: string | null;
1286
+ brand: string | null;
1287
+ source: "authoritative" | "personal" | "community";
1288
+ servingLabel: string;
1289
+ servingGrams: number | null;
1290
+ nutrients: {
1291
+ calories: number;
1292
+ proteinG: number;
1293
+ carbsG: number;
1294
+ fatG: number;
1295
+ };
1296
+ servingOptions: {
1297
+ id: string | null;
1298
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1299
+ label: string;
1300
+ grams: number | null;
1301
+ isDefault: boolean;
1302
+ }[];
1303
+ isPersonal: boolean;
1304
+ isEstimated: boolean;
1305
+ }>;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ food: {
1308
+ name: string;
1309
+ id: string;
1310
+ barcode: string | null;
1311
+ brand: string | null;
1312
+ source: "authoritative" | "personal" | "community";
1313
+ servingLabel: string;
1314
+ servingGrams: number | null;
1315
+ nutrients: {
1316
+ calories: number;
1317
+ proteinG: number;
1318
+ carbsG: number;
1319
+ fatG: number;
1320
+ };
1321
+ servingOptions: {
1322
+ id: string | null;
1323
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1324
+ label: string;
1325
+ grams: number | null;
1326
+ isDefault: boolean;
1327
+ }[];
1328
+ isPersonal: boolean;
1329
+ isEstimated: boolean;
1330
+ };
1331
+ }, {
1332
+ food: {
1333
+ name: string;
1334
+ id: string;
1335
+ barcode: string | null;
1336
+ brand: string | null;
1337
+ source: "authoritative" | "personal" | "community";
1338
+ servingLabel: string;
1339
+ servingGrams: number | null;
1340
+ nutrients: {
1341
+ calories: number;
1342
+ proteinG: number;
1343
+ carbsG: number;
1344
+ fatG: number;
1345
+ };
1346
+ servingOptions: {
1347
+ id: string | null;
1348
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1349
+ label: string;
1350
+ grams: number | null;
1351
+ isDefault: boolean;
1352
+ }[];
1353
+ isPersonal: boolean;
1354
+ isEstimated: boolean;
1355
+ };
1356
+ }>;
1357
+ responseCode: z.ZodNumber;
1358
+ message: z.ZodString;
1359
+ }, "strip", z.ZodTypeAny, {
1360
+ message: string;
1361
+ success: true;
1362
+ responseCode: number;
1363
+ data: {
1364
+ food: {
1365
+ name: string;
1366
+ id: string;
1367
+ barcode: string | null;
1368
+ brand: string | null;
1369
+ source: "authoritative" | "personal" | "community";
1370
+ servingLabel: string;
1371
+ servingGrams: number | null;
1372
+ nutrients: {
1373
+ calories: number;
1374
+ proteinG: number;
1375
+ carbsG: number;
1376
+ fatG: number;
1377
+ };
1378
+ servingOptions: {
1379
+ id: string | null;
1380
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1381
+ label: string;
1382
+ grams: number | null;
1383
+ isDefault: boolean;
1384
+ }[];
1385
+ isPersonal: boolean;
1386
+ isEstimated: boolean;
1387
+ };
884
1388
  };
885
- logHistory: {
886
- method: "GET";
887
- path: "/api/v1/foods/log/history";
1389
+ }, {
1390
+ message: string;
1391
+ success: true;
1392
+ responseCode: number;
1393
+ data: {
1394
+ food: {
1395
+ name: string;
1396
+ id: string;
1397
+ barcode: string | null;
1398
+ brand: string | null;
1399
+ source: "authoritative" | "personal" | "community";
1400
+ servingLabel: string;
1401
+ servingGrams: number | null;
1402
+ nutrients: {
1403
+ calories: number;
1404
+ proteinG: number;
1405
+ carbsG: number;
1406
+ fatG: number;
1407
+ };
1408
+ servingOptions: {
1409
+ id: string | null;
1410
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1411
+ label: string;
1412
+ grams: number | null;
1413
+ isDefault: boolean;
1414
+ }[];
1415
+ isPersonal: boolean;
1416
+ isEstimated: boolean;
1417
+ };
1418
+ };
1419
+ }>;
1420
+ export declare const upsertFoodPayloadSchema: z.ZodObject<{
1421
+ name: z.ZodString;
1422
+ brand: z.ZodOptional<z.ZodString>;
1423
+ barcode: z.ZodOptional<z.ZodString>;
1424
+ servingLabel: z.ZodString;
1425
+ servingGrams: z.ZodOptional<z.ZodNumber>;
1426
+ nutrients: z.ZodObject<{
1427
+ calories: z.ZodNumber;
1428
+ proteinG: z.ZodNumber;
1429
+ carbsG: z.ZodNumber;
1430
+ fatG: z.ZodNumber;
1431
+ }, "strip", z.ZodTypeAny, {
1432
+ calories: number;
1433
+ proteinG: number;
1434
+ carbsG: number;
1435
+ fatG: number;
1436
+ }, {
1437
+ calories: number;
1438
+ proteinG: number;
1439
+ carbsG: number;
1440
+ fatG: number;
1441
+ }>;
1442
+ }, "strip", z.ZodTypeAny, {
1443
+ name: string;
1444
+ servingLabel: string;
1445
+ nutrients: {
1446
+ calories: number;
1447
+ proteinG: number;
1448
+ carbsG: number;
1449
+ fatG: number;
1450
+ };
1451
+ barcode?: string | undefined;
1452
+ brand?: string | undefined;
1453
+ servingGrams?: number | undefined;
1454
+ }, {
1455
+ name: string;
1456
+ servingLabel: string;
1457
+ nutrients: {
1458
+ calories: number;
1459
+ proteinG: number;
1460
+ carbsG: number;
1461
+ fatG: number;
1462
+ };
1463
+ barcode?: string | undefined;
1464
+ brand?: string | undefined;
1465
+ servingGrams?: number | undefined;
1466
+ }>;
1467
+ export type UpsertFoodPayload = z.infer<typeof upsertFoodPayloadSchema>;
1468
+ export declare const logFoodPayloadSchema: z.ZodObject<{
1469
+ foodItemId: z.ZodString;
1470
+ day: z.ZodString;
1471
+ servings: z.ZodNumber;
1472
+ servingId: z.ZodOptional<z.ZodString>;
1473
+ servingUnit: z.ZodOptional<z.ZodString>;
1474
+ consumedAt: z.ZodOptional<z.ZodString>;
1475
+ }, "strip", z.ZodTypeAny, {
1476
+ day: string;
1477
+ foodItemId: string;
1478
+ servings: number;
1479
+ servingUnit?: string | undefined;
1480
+ consumedAt?: string | undefined;
1481
+ servingId?: string | undefined;
1482
+ }, {
1483
+ day: string;
1484
+ foodItemId: string;
1485
+ servings: number;
1486
+ servingUnit?: string | undefined;
1487
+ consumedAt?: string | undefined;
1488
+ servingId?: string | undefined;
1489
+ }>;
1490
+ export type LogFoodPayload = z.infer<typeof logFoodPayloadSchema>;
1491
+ export declare const updateLogPayloadSchema: z.ZodObject<{
1492
+ servings: z.ZodOptional<z.ZodNumber>;
1493
+ servingId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1494
+ servingUnit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1495
+ consumedAt: z.ZodOptional<z.ZodString>;
1496
+ }, "strip", z.ZodTypeAny, {
1497
+ servings?: number | undefined;
1498
+ servingUnit?: string | null | undefined;
1499
+ consumedAt?: string | undefined;
1500
+ servingId?: string | null | undefined;
1501
+ }, {
1502
+ servings?: number | undefined;
1503
+ servingUnit?: string | null | undefined;
1504
+ consumedAt?: string | undefined;
1505
+ servingId?: string | null | undefined;
1506
+ }>;
1507
+ export type UpdateLogPayload = z.infer<typeof updateLogPayloadSchema>;
1508
+ export declare const logMutationResponseSchema: z.ZodObject<{
1509
+ success: z.ZodLiteral<true>;
1510
+ data: z.ZodObject<{
1511
+ entry: z.ZodObject<{
1512
+ id: z.ZodString;
1513
+ foodItemId: z.ZodNullable<z.ZodString>;
1514
+ name: z.ZodString;
1515
+ day: z.ZodString;
1516
+ servings: z.ZodNumber;
1517
+ servingUnit: z.ZodNullable<z.ZodString>;
1518
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
1519
+ barcode: z.ZodNullable<z.ZodString>;
1520
+ isEstimated: z.ZodBoolean;
1521
+ nutrients: z.ZodObject<{
1522
+ calories: z.ZodNumber;
1523
+ proteinG: z.ZodNumber;
1524
+ carbsG: z.ZodNumber;
1525
+ fatG: z.ZodNumber;
1526
+ }, "strip", z.ZodTypeAny, {
1527
+ calories: number;
1528
+ proteinG: number;
1529
+ carbsG: number;
1530
+ fatG: number;
1531
+ }, {
1532
+ calories: number;
1533
+ proteinG: number;
1534
+ carbsG: number;
1535
+ fatG: number;
1536
+ }>;
1537
+ consumedAt: z.ZodString;
1538
+ loggedAt: z.ZodString;
1539
+ }, "strip", z.ZodTypeAny, {
1540
+ name: string;
1541
+ id: string;
1542
+ day: string;
1543
+ barcode: string | null;
1544
+ source: "barcode" | "manual" | "search";
1545
+ nutrients: {
1546
+ calories: number;
1547
+ proteinG: number;
1548
+ carbsG: number;
1549
+ fatG: number;
1550
+ };
1551
+ isEstimated: boolean;
1552
+ foodItemId: string | null;
1553
+ servings: number;
1554
+ servingUnit: string | null;
1555
+ consumedAt: string;
1556
+ loggedAt: string;
1557
+ }, {
1558
+ name: string;
1559
+ id: string;
1560
+ day: string;
1561
+ barcode: string | null;
1562
+ source: "barcode" | "manual" | "search";
1563
+ nutrients: {
1564
+ calories: number;
1565
+ proteinG: number;
1566
+ carbsG: number;
1567
+ fatG: number;
1568
+ };
1569
+ isEstimated: boolean;
1570
+ foodItemId: string | null;
1571
+ servings: number;
1572
+ servingUnit: string | null;
1573
+ consumedAt: string;
1574
+ loggedAt: string;
1575
+ }>;
1576
+ totals: z.ZodObject<{
1577
+ day: z.ZodString;
1578
+ calories: z.ZodNumber;
1579
+ proteinG: z.ZodNumber;
1580
+ carbsG: z.ZodNumber;
1581
+ fatG: z.ZodNumber;
1582
+ }, "strip", z.ZodTypeAny, {
1583
+ day: string;
1584
+ calories: number;
1585
+ proteinG: number;
1586
+ carbsG: number;
1587
+ fatG: number;
1588
+ }, {
1589
+ day: string;
1590
+ calories: number;
1591
+ proteinG: number;
1592
+ carbsG: number;
1593
+ fatG: number;
1594
+ }>;
1595
+ }, "strip", z.ZodTypeAny, {
1596
+ entry: {
1597
+ name: string;
1598
+ id: string;
1599
+ day: string;
1600
+ barcode: string | null;
1601
+ source: "barcode" | "manual" | "search";
1602
+ nutrients: {
1603
+ calories: number;
1604
+ proteinG: number;
1605
+ carbsG: number;
1606
+ fatG: number;
1607
+ };
1608
+ isEstimated: boolean;
1609
+ foodItemId: string | null;
1610
+ servings: number;
1611
+ servingUnit: string | null;
1612
+ consumedAt: string;
1613
+ loggedAt: string;
1614
+ };
1615
+ totals: {
1616
+ day: string;
1617
+ calories: number;
1618
+ proteinG: number;
1619
+ carbsG: number;
1620
+ fatG: number;
1621
+ };
1622
+ }, {
1623
+ entry: {
1624
+ name: string;
1625
+ id: string;
1626
+ day: string;
1627
+ barcode: string | null;
1628
+ source: "barcode" | "manual" | "search";
1629
+ nutrients: {
1630
+ calories: number;
1631
+ proteinG: number;
1632
+ carbsG: number;
1633
+ fatG: number;
1634
+ };
1635
+ isEstimated: boolean;
1636
+ foodItemId: string | null;
1637
+ servings: number;
1638
+ servingUnit: string | null;
1639
+ consumedAt: string;
1640
+ loggedAt: string;
1641
+ };
1642
+ totals: {
1643
+ day: string;
1644
+ calories: number;
1645
+ proteinG: number;
1646
+ carbsG: number;
1647
+ fatG: number;
1648
+ };
1649
+ }>;
1650
+ responseCode: z.ZodNumber;
1651
+ message: z.ZodString;
1652
+ }, "strip", z.ZodTypeAny, {
1653
+ message: string;
1654
+ success: true;
1655
+ responseCode: number;
1656
+ data: {
1657
+ entry: {
1658
+ name: string;
1659
+ id: string;
1660
+ day: string;
1661
+ barcode: string | null;
1662
+ source: "barcode" | "manual" | "search";
1663
+ nutrients: {
1664
+ calories: number;
1665
+ proteinG: number;
1666
+ carbsG: number;
1667
+ fatG: number;
1668
+ };
1669
+ isEstimated: boolean;
1670
+ foodItemId: string | null;
1671
+ servings: number;
1672
+ servingUnit: string | null;
1673
+ consumedAt: string;
1674
+ loggedAt: string;
1675
+ };
1676
+ totals: {
1677
+ day: string;
1678
+ calories: number;
1679
+ proteinG: number;
1680
+ carbsG: number;
1681
+ fatG: number;
1682
+ };
1683
+ };
1684
+ }, {
1685
+ message: string;
1686
+ success: true;
1687
+ responseCode: number;
1688
+ data: {
1689
+ entry: {
1690
+ name: string;
1691
+ id: string;
1692
+ day: string;
1693
+ barcode: string | null;
1694
+ source: "barcode" | "manual" | "search";
1695
+ nutrients: {
1696
+ calories: number;
1697
+ proteinG: number;
1698
+ carbsG: number;
1699
+ fatG: number;
1700
+ };
1701
+ isEstimated: boolean;
1702
+ foodItemId: string | null;
1703
+ servings: number;
1704
+ servingUnit: string | null;
1705
+ consumedAt: string;
1706
+ loggedAt: string;
1707
+ };
1708
+ totals: {
1709
+ day: string;
1710
+ calories: number;
1711
+ proteinG: number;
1712
+ carbsG: number;
1713
+ fatG: number;
1714
+ };
1715
+ };
1716
+ }>;
1717
+ export declare const deleteLogParamsSchema: z.ZodObject<{
1718
+ id: z.ZodString;
1719
+ }, "strip", z.ZodTypeAny, {
1720
+ id: string;
1721
+ }, {
1722
+ id: string;
1723
+ }>;
1724
+ export declare const recentFoodsQuerySchema: z.ZodObject<{
1725
+ date: z.ZodOptional<z.ZodString>;
1726
+ limit: z.ZodOptional<z.ZodNumber>;
1727
+ }, "strip", z.ZodTypeAny, {
1728
+ date?: string | undefined;
1729
+ limit?: number | undefined;
1730
+ }, {
1731
+ date?: string | undefined;
1732
+ limit?: number | undefined;
1733
+ }>;
1734
+ export declare const recentFoodsResponseSchema: z.ZodObject<{
1735
+ success: z.ZodLiteral<true>;
1736
+ data: z.ZodObject<{
1737
+ items: z.ZodArray<z.ZodObject<{
1738
+ id: z.ZodString;
1739
+ foodItemId: z.ZodNullable<z.ZodString>;
1740
+ name: z.ZodString;
1741
+ day: z.ZodString;
1742
+ servings: z.ZodNumber;
1743
+ servingUnit: z.ZodNullable<z.ZodString>;
1744
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
1745
+ barcode: z.ZodNullable<z.ZodString>;
1746
+ isEstimated: z.ZodBoolean;
1747
+ nutrients: z.ZodObject<{
1748
+ calories: z.ZodNumber;
1749
+ proteinG: z.ZodNumber;
1750
+ carbsG: z.ZodNumber;
1751
+ fatG: z.ZodNumber;
1752
+ }, "strip", z.ZodTypeAny, {
1753
+ calories: number;
1754
+ proteinG: number;
1755
+ carbsG: number;
1756
+ fatG: number;
1757
+ }, {
1758
+ calories: number;
1759
+ proteinG: number;
1760
+ carbsG: number;
1761
+ fatG: number;
1762
+ }>;
1763
+ consumedAt: z.ZodString;
1764
+ loggedAt: z.ZodString;
1765
+ }, "strip", z.ZodTypeAny, {
1766
+ name: string;
1767
+ id: string;
1768
+ day: string;
1769
+ barcode: string | null;
1770
+ source: "barcode" | "manual" | "search";
1771
+ nutrients: {
1772
+ calories: number;
1773
+ proteinG: number;
1774
+ carbsG: number;
1775
+ fatG: number;
1776
+ };
1777
+ isEstimated: boolean;
1778
+ foodItemId: string | null;
1779
+ servings: number;
1780
+ servingUnit: string | null;
1781
+ consumedAt: string;
1782
+ loggedAt: string;
1783
+ }, {
1784
+ name: string;
1785
+ id: string;
1786
+ day: string;
1787
+ barcode: string | null;
1788
+ source: "barcode" | "manual" | "search";
1789
+ nutrients: {
1790
+ calories: number;
1791
+ proteinG: number;
1792
+ carbsG: number;
1793
+ fatG: number;
1794
+ };
1795
+ isEstimated: boolean;
1796
+ foodItemId: string | null;
1797
+ servings: number;
1798
+ servingUnit: string | null;
1799
+ consumedAt: string;
1800
+ loggedAt: string;
1801
+ }>, "many">;
1802
+ }, "strip", z.ZodTypeAny, {
1803
+ items: {
1804
+ name: string;
1805
+ id: string;
1806
+ day: string;
1807
+ barcode: string | null;
1808
+ source: "barcode" | "manual" | "search";
1809
+ nutrients: {
1810
+ calories: number;
1811
+ proteinG: number;
1812
+ carbsG: number;
1813
+ fatG: number;
1814
+ };
1815
+ isEstimated: boolean;
1816
+ foodItemId: string | null;
1817
+ servings: number;
1818
+ servingUnit: string | null;
1819
+ consumedAt: string;
1820
+ loggedAt: string;
1821
+ }[];
1822
+ }, {
1823
+ items: {
1824
+ name: string;
1825
+ id: string;
1826
+ day: string;
1827
+ barcode: string | null;
1828
+ source: "barcode" | "manual" | "search";
1829
+ nutrients: {
1830
+ calories: number;
1831
+ proteinG: number;
1832
+ carbsG: number;
1833
+ fatG: number;
1834
+ };
1835
+ isEstimated: boolean;
1836
+ foodItemId: string | null;
1837
+ servings: number;
1838
+ servingUnit: string | null;
1839
+ consumedAt: string;
1840
+ loggedAt: string;
1841
+ }[];
1842
+ }>;
1843
+ responseCode: z.ZodNumber;
1844
+ message: z.ZodString;
1845
+ }, "strip", z.ZodTypeAny, {
1846
+ message: string;
1847
+ success: true;
1848
+ responseCode: number;
1849
+ data: {
1850
+ items: {
1851
+ name: string;
1852
+ id: string;
1853
+ day: string;
1854
+ barcode: string | null;
1855
+ source: "barcode" | "manual" | "search";
1856
+ nutrients: {
1857
+ calories: number;
1858
+ proteinG: number;
1859
+ carbsG: number;
1860
+ fatG: number;
1861
+ };
1862
+ isEstimated: boolean;
1863
+ foodItemId: string | null;
1864
+ servings: number;
1865
+ servingUnit: string | null;
1866
+ consumedAt: string;
1867
+ loggedAt: string;
1868
+ }[];
1869
+ };
1870
+ }, {
1871
+ message: string;
1872
+ success: true;
1873
+ responseCode: number;
1874
+ data: {
1875
+ items: {
1876
+ name: string;
1877
+ id: string;
1878
+ day: string;
1879
+ barcode: string | null;
1880
+ source: "barcode" | "manual" | "search";
1881
+ nutrients: {
1882
+ calories: number;
1883
+ proteinG: number;
1884
+ carbsG: number;
1885
+ fatG: number;
1886
+ };
1887
+ isEstimated: boolean;
1888
+ foodItemId: string | null;
1889
+ servings: number;
1890
+ servingUnit: string | null;
1891
+ consumedAt: string;
1892
+ loggedAt: string;
1893
+ }[];
1894
+ };
1895
+ }>;
1896
+ export declare const favoritesResponseSchema: z.ZodObject<{
1897
+ success: z.ZodLiteral<true>;
1898
+ data: z.ZodObject<{
1899
+ items: z.ZodArray<z.ZodObject<{
1900
+ id: z.ZodString;
1901
+ name: z.ZodString;
1902
+ brand: z.ZodNullable<z.ZodString>;
1903
+ barcode: z.ZodNullable<z.ZodString>;
1904
+ source: z.ZodEnum<["authoritative", "personal", "community"]>;
1905
+ servingLabel: z.ZodString;
1906
+ servingGrams: z.ZodNullable<z.ZodNumber>;
1907
+ nutrients: z.ZodObject<{
1908
+ calories: z.ZodNumber;
1909
+ proteinG: z.ZodNumber;
1910
+ carbsG: z.ZodNumber;
1911
+ fatG: z.ZodNumber;
1912
+ }, "strip", z.ZodTypeAny, {
1913
+ calories: number;
1914
+ proteinG: number;
1915
+ carbsG: number;
1916
+ fatG: number;
1917
+ }, {
1918
+ calories: number;
1919
+ proteinG: number;
1920
+ carbsG: number;
1921
+ fatG: number;
1922
+ }>;
1923
+ servingOptions: z.ZodArray<z.ZodObject<{
1924
+ id: z.ZodNullable<z.ZodString>;
1925
+ measure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
1926
+ label: z.ZodString;
1927
+ grams: z.ZodNullable<z.ZodNumber>;
1928
+ isDefault: z.ZodBoolean;
1929
+ }, "strip", z.ZodTypeAny, {
1930
+ id: string | null;
1931
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1932
+ label: string;
1933
+ grams: number | null;
1934
+ isDefault: boolean;
1935
+ }, {
1936
+ id: string | null;
1937
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1938
+ label: string;
1939
+ grams: number | null;
1940
+ isDefault: boolean;
1941
+ }>, "many">;
1942
+ isPersonal: z.ZodBoolean;
1943
+ isEstimated: z.ZodBoolean;
1944
+ }, "strip", z.ZodTypeAny, {
1945
+ name: string;
1946
+ id: string;
1947
+ barcode: string | null;
1948
+ brand: string | null;
1949
+ source: "authoritative" | "personal" | "community";
1950
+ servingLabel: string;
1951
+ servingGrams: number | null;
1952
+ nutrients: {
1953
+ calories: number;
1954
+ proteinG: number;
1955
+ carbsG: number;
1956
+ fatG: number;
1957
+ };
1958
+ servingOptions: {
1959
+ id: string | null;
1960
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1961
+ label: string;
1962
+ grams: number | null;
1963
+ isDefault: boolean;
1964
+ }[];
1965
+ isPersonal: boolean;
1966
+ isEstimated: boolean;
1967
+ }, {
1968
+ name: string;
1969
+ id: string;
1970
+ barcode: string | null;
1971
+ brand: string | null;
1972
+ source: "authoritative" | "personal" | "community";
1973
+ servingLabel: string;
1974
+ servingGrams: number | null;
1975
+ nutrients: {
1976
+ calories: number;
1977
+ proteinG: number;
1978
+ carbsG: number;
1979
+ fatG: number;
1980
+ };
1981
+ servingOptions: {
1982
+ id: string | null;
1983
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1984
+ label: string;
1985
+ grams: number | null;
1986
+ isDefault: boolean;
1987
+ }[];
1988
+ isPersonal: boolean;
1989
+ isEstimated: boolean;
1990
+ }>, "many">;
1991
+ }, "strip", z.ZodTypeAny, {
1992
+ items: {
1993
+ name: string;
1994
+ id: string;
1995
+ barcode: string | null;
1996
+ brand: string | null;
1997
+ source: "authoritative" | "personal" | "community";
1998
+ servingLabel: string;
1999
+ servingGrams: number | null;
2000
+ nutrients: {
2001
+ calories: number;
2002
+ proteinG: number;
2003
+ carbsG: number;
2004
+ fatG: number;
2005
+ };
2006
+ servingOptions: {
2007
+ id: string | null;
2008
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2009
+ label: string;
2010
+ grams: number | null;
2011
+ isDefault: boolean;
2012
+ }[];
2013
+ isPersonal: boolean;
2014
+ isEstimated: boolean;
2015
+ }[];
2016
+ }, {
2017
+ items: {
2018
+ name: string;
2019
+ id: string;
2020
+ barcode: string | null;
2021
+ brand: string | null;
2022
+ source: "authoritative" | "personal" | "community";
2023
+ servingLabel: string;
2024
+ servingGrams: number | null;
2025
+ nutrients: {
2026
+ calories: number;
2027
+ proteinG: number;
2028
+ carbsG: number;
2029
+ fatG: number;
2030
+ };
2031
+ servingOptions: {
2032
+ id: string | null;
2033
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2034
+ label: string;
2035
+ grams: number | null;
2036
+ isDefault: boolean;
2037
+ }[];
2038
+ isPersonal: boolean;
2039
+ isEstimated: boolean;
2040
+ }[];
2041
+ }>;
2042
+ responseCode: z.ZodNumber;
2043
+ message: z.ZodString;
2044
+ }, "strip", z.ZodTypeAny, {
2045
+ message: string;
2046
+ success: true;
2047
+ responseCode: number;
2048
+ data: {
2049
+ items: {
2050
+ name: string;
2051
+ id: string;
2052
+ barcode: string | null;
2053
+ brand: string | null;
2054
+ source: "authoritative" | "personal" | "community";
2055
+ servingLabel: string;
2056
+ servingGrams: number | null;
2057
+ nutrients: {
2058
+ calories: number;
2059
+ proteinG: number;
2060
+ carbsG: number;
2061
+ fatG: number;
2062
+ };
2063
+ servingOptions: {
2064
+ id: string | null;
2065
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2066
+ label: string;
2067
+ grams: number | null;
2068
+ isDefault: boolean;
2069
+ }[];
2070
+ isPersonal: boolean;
2071
+ isEstimated: boolean;
2072
+ }[];
2073
+ };
2074
+ }, {
2075
+ message: string;
2076
+ success: true;
2077
+ responseCode: number;
2078
+ data: {
2079
+ items: {
2080
+ name: string;
2081
+ id: string;
2082
+ barcode: string | null;
2083
+ brand: string | null;
2084
+ source: "authoritative" | "personal" | "community";
2085
+ servingLabel: string;
2086
+ servingGrams: number | null;
2087
+ nutrients: {
2088
+ calories: number;
2089
+ proteinG: number;
2090
+ carbsG: number;
2091
+ fatG: number;
2092
+ };
2093
+ servingOptions: {
2094
+ id: string | null;
2095
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2096
+ label: string;
2097
+ grams: number | null;
2098
+ isDefault: boolean;
2099
+ }[];
2100
+ isPersonal: boolean;
2101
+ isEstimated: boolean;
2102
+ }[];
2103
+ };
2104
+ }>;
2105
+ export declare const addFavoritePayloadSchema: z.ZodObject<{
2106
+ foodItemId: z.ZodString;
2107
+ }, "strip", z.ZodTypeAny, {
2108
+ foodItemId: string;
2109
+ }, {
2110
+ foodItemId: string;
2111
+ }>;
2112
+ export declare const favoriteParamsSchema: z.ZodObject<{
2113
+ id: z.ZodString;
2114
+ }, "strip", z.ZodTypeAny, {
2115
+ id: string;
2116
+ }, {
2117
+ id: string;
2118
+ }>;
2119
+ export declare const estimateFoodPayloadSchema: z.ZodObject<{
2120
+ name: z.ZodString;
2121
+ ingredients: z.ZodOptional<z.ZodString>;
2122
+ cookingMethod: z.ZodOptional<z.ZodString>;
2123
+ portionMeasure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
2124
+ quantity: z.ZodNumber;
2125
+ consumedAt: z.ZodOptional<z.ZodString>;
2126
+ }, "strip", z.ZodTypeAny, {
2127
+ name: string;
2128
+ portionMeasure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2129
+ quantity: number;
2130
+ consumedAt?: string | undefined;
2131
+ ingredients?: string | undefined;
2132
+ cookingMethod?: string | undefined;
2133
+ }, {
2134
+ name: string;
2135
+ portionMeasure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2136
+ quantity: number;
2137
+ consumedAt?: string | undefined;
2138
+ ingredients?: string | undefined;
2139
+ cookingMethod?: string | undefined;
2140
+ }>;
2141
+ export type EstimateFoodPayload = z.infer<typeof estimateFoodPayloadSchema>;
2142
+ export declare const estimateFoodResponseSchema: z.ZodObject<{
2143
+ success: z.ZodLiteral<true>;
2144
+ data: z.ZodObject<{
2145
+ estimate: z.ZodObject<{
2146
+ name: z.ZodString;
2147
+ servingUnit: z.ZodString;
2148
+ quantity: z.ZodNumber;
2149
+ nutrients: z.ZodObject<{
2150
+ calories: z.ZodNumber;
2151
+ proteinG: z.ZodNumber;
2152
+ carbsG: z.ZodNumber;
2153
+ fatG: z.ZodNumber;
2154
+ }, "strip", z.ZodTypeAny, {
2155
+ calories: number;
2156
+ proteinG: number;
2157
+ carbsG: number;
2158
+ fatG: number;
2159
+ }, {
2160
+ calories: number;
2161
+ proteinG: number;
2162
+ carbsG: number;
2163
+ fatG: number;
2164
+ }>;
2165
+ isEstimated: z.ZodLiteral<true>;
2166
+ }, "strip", z.ZodTypeAny, {
2167
+ name: string;
2168
+ nutrients: {
2169
+ calories: number;
2170
+ proteinG: number;
2171
+ carbsG: number;
2172
+ fatG: number;
2173
+ };
2174
+ isEstimated: true;
2175
+ servingUnit: string;
2176
+ quantity: number;
2177
+ }, {
2178
+ name: string;
2179
+ nutrients: {
2180
+ calories: number;
2181
+ proteinG: number;
2182
+ carbsG: number;
2183
+ fatG: number;
2184
+ };
2185
+ isEstimated: true;
2186
+ servingUnit: string;
2187
+ quantity: number;
2188
+ }>;
2189
+ }, "strip", z.ZodTypeAny, {
2190
+ estimate: {
2191
+ name: string;
2192
+ nutrients: {
2193
+ calories: number;
2194
+ proteinG: number;
2195
+ carbsG: number;
2196
+ fatG: number;
2197
+ };
2198
+ isEstimated: true;
2199
+ servingUnit: string;
2200
+ quantity: number;
2201
+ };
2202
+ }, {
2203
+ estimate: {
2204
+ name: string;
2205
+ nutrients: {
2206
+ calories: number;
2207
+ proteinG: number;
2208
+ carbsG: number;
2209
+ fatG: number;
2210
+ };
2211
+ isEstimated: true;
2212
+ servingUnit: string;
2213
+ quantity: number;
2214
+ };
2215
+ }>;
2216
+ responseCode: z.ZodNumber;
2217
+ message: z.ZodString;
2218
+ }, "strip", z.ZodTypeAny, {
2219
+ message: string;
2220
+ success: true;
2221
+ responseCode: number;
2222
+ data: {
2223
+ estimate: {
2224
+ name: string;
2225
+ nutrients: {
2226
+ calories: number;
2227
+ proteinG: number;
2228
+ carbsG: number;
2229
+ fatG: number;
2230
+ };
2231
+ isEstimated: true;
2232
+ servingUnit: string;
2233
+ quantity: number;
2234
+ };
2235
+ };
2236
+ }, {
2237
+ message: string;
2238
+ success: true;
2239
+ responseCode: number;
2240
+ data: {
2241
+ estimate: {
2242
+ name: string;
2243
+ nutrients: {
2244
+ calories: number;
2245
+ proteinG: number;
2246
+ carbsG: number;
2247
+ fatG: number;
2248
+ };
2249
+ isEstimated: true;
2250
+ servingUnit: string;
2251
+ quantity: number;
2252
+ };
2253
+ };
2254
+ }>;
2255
+ export declare const logEstimatePayloadSchema: z.ZodObject<{
2256
+ name: z.ZodString;
2257
+ ingredients: z.ZodOptional<z.ZodString>;
2258
+ cookingMethod: z.ZodOptional<z.ZodString>;
2259
+ portionMeasure: z.ZodEnum<["serving", "weight", "cup", "tbsp", "piece"]>;
2260
+ quantity: z.ZodNumber;
2261
+ consumedAt: z.ZodOptional<z.ZodString>;
2262
+ } & {
2263
+ day: z.ZodString;
2264
+ nutrients: z.ZodObject<{
2265
+ calories: z.ZodNumber;
2266
+ proteinG: z.ZodNumber;
2267
+ carbsG: z.ZodNumber;
2268
+ fatG: z.ZodNumber;
2269
+ }, "strip", z.ZodTypeAny, {
2270
+ calories: number;
2271
+ proteinG: number;
2272
+ carbsG: number;
2273
+ fatG: number;
2274
+ }, {
2275
+ calories: number;
2276
+ proteinG: number;
2277
+ carbsG: number;
2278
+ fatG: number;
2279
+ }>;
2280
+ servingUnit: z.ZodOptional<z.ZodString>;
2281
+ }, "strip", z.ZodTypeAny, {
2282
+ name: string;
2283
+ day: string;
2284
+ nutrients: {
2285
+ calories: number;
2286
+ proteinG: number;
2287
+ carbsG: number;
2288
+ fatG: number;
2289
+ };
2290
+ portionMeasure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2291
+ quantity: number;
2292
+ servingUnit?: string | undefined;
2293
+ consumedAt?: string | undefined;
2294
+ ingredients?: string | undefined;
2295
+ cookingMethod?: string | undefined;
2296
+ }, {
2297
+ name: string;
2298
+ day: string;
2299
+ nutrients: {
2300
+ calories: number;
2301
+ proteinG: number;
2302
+ carbsG: number;
2303
+ fatG: number;
2304
+ };
2305
+ portionMeasure: "serving" | "weight" | "cup" | "tbsp" | "piece";
2306
+ quantity: number;
2307
+ servingUnit?: string | undefined;
2308
+ consumedAt?: string | undefined;
2309
+ ingredients?: string | undefined;
2310
+ cookingMethod?: string | undefined;
2311
+ }>;
2312
+ export type LogEstimatePayload = z.infer<typeof logEstimatePayloadSchema>;
2313
+ export declare const foodRoutes: {
2314
+ lookup: {
2315
+ method: "GET";
2316
+ path: "/api/v1/foods/lookup";
2317
+ auth: "user";
2318
+ };
2319
+ search: {
2320
+ method: "GET";
2321
+ path: "/api/v1/foods/search";
2322
+ auth: "user";
2323
+ };
2324
+ detail: {
2325
+ method: "GET";
2326
+ path: "/api/v1/foods/:id";
2327
+ auth: "user";
2328
+ };
2329
+ create: {
2330
+ method: "POST";
2331
+ path: "/api/v1/foods";
2332
+ auth: "user";
2333
+ };
2334
+ update: {
2335
+ method: "PATCH";
2336
+ path: "/api/v1/foods/:id";
2337
+ auth: "user";
2338
+ };
2339
+ log: {
2340
+ method: "POST";
2341
+ path: "/api/v1/foods/log";
2342
+ auth: "user";
2343
+ };
2344
+ logEstimate: {
2345
+ method: "POST";
2346
+ path: "/api/v1/foods/log/estimate";
2347
+ auth: "user";
2348
+ };
2349
+ updateLog: {
2350
+ method: "PATCH";
2351
+ path: "/api/v1/foods/log/:id";
2352
+ auth: "user";
2353
+ };
2354
+ deleteLog: {
2355
+ method: "DELETE";
2356
+ path: "/api/v1/foods/log/:id";
2357
+ auth: "user";
2358
+ };
2359
+ logDay: {
2360
+ method: "GET";
2361
+ path: "/api/v1/foods/log/day";
2362
+ auth: "user";
2363
+ };
2364
+ logHistory: {
2365
+ method: "GET";
2366
+ path: "/api/v1/foods/log/history";
2367
+ auth: "user";
2368
+ };
2369
+ recent: {
2370
+ method: "GET";
2371
+ path: "/api/v1/foods/recent";
2372
+ auth: "user";
2373
+ };
2374
+ favoritesList: {
2375
+ method: "GET";
2376
+ path: "/api/v1/foods/favorites";
2377
+ auth: "user";
2378
+ };
2379
+ favoritesAdd: {
2380
+ method: "POST";
2381
+ path: "/api/v1/foods/favorites";
2382
+ auth: "user";
2383
+ };
2384
+ favoritesRemove: {
2385
+ method: "DELETE";
2386
+ path: "/api/v1/foods/favorites/:id";
2387
+ auth: "user";
2388
+ };
2389
+ estimate: {
2390
+ method: "POST";
2391
+ path: "/api/v1/foods/estimate";
888
2392
  auth: "user";
889
2393
  };
890
2394
  };