@beorchid-llc/thrivo-contracts 0.5.4 → 0.6.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.
@@ -0,0 +1,2395 @@
1
+ import { z } from "zod";
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>;
6
+ export declare const nutrientsSchema: z.ZodObject<{
7
+ calories: z.ZodNumber;
8
+ proteinG: z.ZodNumber;
9
+ carbsG: z.ZodNumber;
10
+ fatG: z.ZodNumber;
11
+ }, "strip", z.ZodTypeAny, {
12
+ calories: number;
13
+ proteinG: number;
14
+ carbsG: number;
15
+ fatG: number;
16
+ }, {
17
+ calories: number;
18
+ proteinG: number;
19
+ carbsG: number;
20
+ fatG: number;
21
+ }>;
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
+ id: string;
90
+ name: 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
+ id: string;
113
+ name: 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>;
136
+ export declare const foodLogEntrySchema: z.ZodObject<{
137
+ id: z.ZodString;
138
+ foodItemId: z.ZodNullable<z.ZodString>;
139
+ name: z.ZodString;
140
+ day: z.ZodString;
141
+ servings: z.ZodNumber;
142
+ servingUnit: z.ZodNullable<z.ZodString>;
143
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
144
+ barcode: z.ZodNullable<z.ZodString>;
145
+ isEstimated: z.ZodBoolean;
146
+ nutrients: z.ZodObject<{
147
+ calories: z.ZodNumber;
148
+ proteinG: z.ZodNumber;
149
+ carbsG: z.ZodNumber;
150
+ fatG: z.ZodNumber;
151
+ }, "strip", z.ZodTypeAny, {
152
+ calories: number;
153
+ proteinG: number;
154
+ carbsG: number;
155
+ fatG: number;
156
+ }, {
157
+ calories: number;
158
+ proteinG: number;
159
+ carbsG: number;
160
+ fatG: number;
161
+ }>;
162
+ consumedAt: z.ZodString;
163
+ loggedAt: z.ZodString;
164
+ }, "strip", z.ZodTypeAny, {
165
+ id: string;
166
+ name: string;
167
+ day: string;
168
+ barcode: string | null;
169
+ source: "barcode" | "manual" | "search";
170
+ nutrients: {
171
+ calories: number;
172
+ proteinG: number;
173
+ carbsG: number;
174
+ fatG: number;
175
+ };
176
+ isEstimated: boolean;
177
+ foodItemId: string | null;
178
+ servings: number;
179
+ servingUnit: string | null;
180
+ consumedAt: string;
181
+ loggedAt: string;
182
+ }, {
183
+ id: string;
184
+ name: string;
185
+ day: string;
186
+ barcode: string | null;
187
+ source: "barcode" | "manual" | "search";
188
+ nutrients: {
189
+ calories: number;
190
+ proteinG: number;
191
+ carbsG: number;
192
+ fatG: number;
193
+ };
194
+ isEstimated: boolean;
195
+ foodItemId: string | null;
196
+ servings: number;
197
+ servingUnit: string | null;
198
+ consumedAt: string;
199
+ loggedAt: string;
200
+ }>;
201
+ export type FoodLogEntry = z.infer<typeof foodLogEntrySchema>;
202
+ export declare const dailyTotalsSchema: z.ZodObject<{
203
+ day: z.ZodString;
204
+ calories: z.ZodNumber;
205
+ proteinG: z.ZodNumber;
206
+ carbsG: z.ZodNumber;
207
+ fatG: z.ZodNumber;
208
+ }, "strip", z.ZodTypeAny, {
209
+ day: string;
210
+ calories: number;
211
+ proteinG: number;
212
+ carbsG: number;
213
+ fatG: number;
214
+ }, {
215
+ day: string;
216
+ calories: number;
217
+ proteinG: number;
218
+ carbsG: number;
219
+ fatG: number;
220
+ }>;
221
+ export type DailyTotals = z.infer<typeof dailyTotalsSchema>;
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
+ id: string;
263
+ name: 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
+ id: string;
281
+ name: 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
+ id: string;
302
+ name: 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
+ id: string;
324
+ name: 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
+ id: string;
353
+ name: 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
+ id: string;
380
+ name: 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
+ cursor?: string | undefined;
407
+ from?: string | undefined;
408
+ to?: string | undefined;
409
+ }, {
410
+ cursor?: string | undefined;
411
+ from?: string | undefined;
412
+ to?: 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"]>>;
418
+ entries: z.ZodArray<z.ZodObject<{
419
+ id: z.ZodString;
420
+ foodItemId: z.ZodNullable<z.ZodString>;
421
+ name: z.ZodString;
422
+ day: z.ZodString;
423
+ servings: z.ZodNumber;
424
+ servingUnit: z.ZodNullable<z.ZodString>;
425
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
426
+ barcode: z.ZodNullable<z.ZodString>;
427
+ isEstimated: z.ZodBoolean;
428
+ nutrients: z.ZodObject<{
429
+ calories: z.ZodNumber;
430
+ proteinG: z.ZodNumber;
431
+ carbsG: z.ZodNumber;
432
+ fatG: z.ZodNumber;
433
+ }, "strip", z.ZodTypeAny, {
434
+ calories: number;
435
+ proteinG: number;
436
+ carbsG: number;
437
+ fatG: number;
438
+ }, {
439
+ calories: number;
440
+ proteinG: number;
441
+ carbsG: number;
442
+ fatG: number;
443
+ }>;
444
+ consumedAt: z.ZodString;
445
+ loggedAt: z.ZodString;
446
+ }, "strip", z.ZodTypeAny, {
447
+ id: string;
448
+ name: string;
449
+ day: string;
450
+ barcode: string | null;
451
+ source: "barcode" | "manual" | "search";
452
+ nutrients: {
453
+ calories: number;
454
+ proteinG: number;
455
+ carbsG: number;
456
+ fatG: number;
457
+ };
458
+ isEstimated: boolean;
459
+ foodItemId: string | null;
460
+ servings: number;
461
+ servingUnit: string | null;
462
+ consumedAt: string;
463
+ loggedAt: string;
464
+ }, {
465
+ id: string;
466
+ name: string;
467
+ day: string;
468
+ barcode: string | null;
469
+ source: "barcode" | "manual" | "search";
470
+ nutrients: {
471
+ calories: number;
472
+ proteinG: number;
473
+ carbsG: number;
474
+ fatG: number;
475
+ };
476
+ isEstimated: boolean;
477
+ foodItemId: string | null;
478
+ servings: number;
479
+ servingUnit: string | null;
480
+ consumedAt: string;
481
+ loggedAt: string;
482
+ }>, "many">;
483
+ }, "strip", z.ZodTypeAny, {
484
+ entries: {
485
+ id: string;
486
+ name: string;
487
+ day: string;
488
+ barcode: string | null;
489
+ source: "barcode" | "manual" | "search";
490
+ nutrients: {
491
+ calories: number;
492
+ proteinG: number;
493
+ carbsG: number;
494
+ fatG: number;
495
+ };
496
+ isEstimated: boolean;
497
+ foodItemId: string | null;
498
+ servings: number;
499
+ servingUnit: string | null;
500
+ consumedAt: string;
501
+ loggedAt: string;
502
+ }[];
503
+ day: string;
504
+ isLocked: boolean;
505
+ lockReason: "free_history_limit" | null;
506
+ }, {
507
+ entries: {
508
+ id: string;
509
+ name: string;
510
+ day: string;
511
+ barcode: string | null;
512
+ source: "barcode" | "manual" | "search";
513
+ nutrients: {
514
+ calories: number;
515
+ proteinG: number;
516
+ carbsG: number;
517
+ fatG: number;
518
+ };
519
+ isEstimated: boolean;
520
+ foodItemId: string | null;
521
+ servings: number;
522
+ servingUnit: string | null;
523
+ consumedAt: string;
524
+ loggedAt: string;
525
+ }[];
526
+ day: string;
527
+ isLocked: boolean;
528
+ lockReason: "free_history_limit" | null;
529
+ }>;
530
+ export type HistoryDay = z.infer<typeof historyDaySchema>;
531
+ export declare const foodLogHistoryResponseSchema: z.ZodObject<{
532
+ success: z.ZodLiteral<true>;
533
+ data: z.ZodObject<{
534
+ days: z.ZodArray<z.ZodObject<{
535
+ day: z.ZodString;
536
+ isLocked: z.ZodBoolean;
537
+ lockReason: z.ZodNullable<z.ZodEnum<["free_history_limit"]>>;
538
+ entries: z.ZodArray<z.ZodObject<{
539
+ id: z.ZodString;
540
+ foodItemId: z.ZodNullable<z.ZodString>;
541
+ name: z.ZodString;
542
+ day: z.ZodString;
543
+ servings: z.ZodNumber;
544
+ servingUnit: z.ZodNullable<z.ZodString>;
545
+ source: z.ZodEnum<["barcode", "manual", "search"]>;
546
+ barcode: z.ZodNullable<z.ZodString>;
547
+ isEstimated: z.ZodBoolean;
548
+ nutrients: z.ZodObject<{
549
+ calories: z.ZodNumber;
550
+ proteinG: z.ZodNumber;
551
+ carbsG: z.ZodNumber;
552
+ fatG: z.ZodNumber;
553
+ }, "strip", z.ZodTypeAny, {
554
+ calories: number;
555
+ proteinG: number;
556
+ carbsG: number;
557
+ fatG: number;
558
+ }, {
559
+ calories: number;
560
+ proteinG: number;
561
+ carbsG: number;
562
+ fatG: number;
563
+ }>;
564
+ consumedAt: z.ZodString;
565
+ loggedAt: z.ZodString;
566
+ }, "strip", z.ZodTypeAny, {
567
+ id: string;
568
+ name: string;
569
+ day: string;
570
+ barcode: string | null;
571
+ source: "barcode" | "manual" | "search";
572
+ nutrients: {
573
+ calories: number;
574
+ proteinG: number;
575
+ carbsG: number;
576
+ fatG: number;
577
+ };
578
+ isEstimated: boolean;
579
+ foodItemId: string | null;
580
+ servings: number;
581
+ servingUnit: string | null;
582
+ consumedAt: string;
583
+ loggedAt: string;
584
+ }, {
585
+ id: string;
586
+ name: string;
587
+ day: string;
588
+ barcode: string | null;
589
+ source: "barcode" | "manual" | "search";
590
+ nutrients: {
591
+ calories: number;
592
+ proteinG: number;
593
+ carbsG: number;
594
+ fatG: number;
595
+ };
596
+ isEstimated: boolean;
597
+ foodItemId: string | null;
598
+ servings: number;
599
+ servingUnit: string | null;
600
+ consumedAt: string;
601
+ loggedAt: string;
602
+ }>, "many">;
603
+ }, "strip", z.ZodTypeAny, {
604
+ entries: {
605
+ id: string;
606
+ name: string;
607
+ day: string;
608
+ barcode: string | null;
609
+ source: "barcode" | "manual" | "search";
610
+ nutrients: {
611
+ calories: number;
612
+ proteinG: number;
613
+ carbsG: number;
614
+ fatG: number;
615
+ };
616
+ isEstimated: boolean;
617
+ foodItemId: string | null;
618
+ servings: number;
619
+ servingUnit: string | null;
620
+ consumedAt: string;
621
+ loggedAt: string;
622
+ }[];
623
+ day: string;
624
+ isLocked: boolean;
625
+ lockReason: "free_history_limit" | null;
626
+ }, {
627
+ entries: {
628
+ id: string;
629
+ name: string;
630
+ day: string;
631
+ barcode: string | null;
632
+ source: "barcode" | "manual" | "search";
633
+ nutrients: {
634
+ calories: number;
635
+ proteinG: number;
636
+ carbsG: number;
637
+ fatG: number;
638
+ };
639
+ isEstimated: boolean;
640
+ foodItemId: string | null;
641
+ servings: number;
642
+ servingUnit: string | null;
643
+ consumedAt: string;
644
+ loggedAt: string;
645
+ }[];
646
+ day: string;
647
+ isLocked: boolean;
648
+ lockReason: "free_history_limit" | null;
649
+ }>, "many">;
650
+ historyLimitDays: z.ZodNumber;
651
+ }, "strip", z.ZodTypeAny, {
652
+ days: {
653
+ entries: {
654
+ id: string;
655
+ name: string;
656
+ day: string;
657
+ barcode: string | null;
658
+ source: "barcode" | "manual" | "search";
659
+ nutrients: {
660
+ calories: number;
661
+ proteinG: number;
662
+ carbsG: number;
663
+ fatG: number;
664
+ };
665
+ isEstimated: boolean;
666
+ foodItemId: string | null;
667
+ servings: number;
668
+ servingUnit: string | null;
669
+ consumedAt: string;
670
+ loggedAt: string;
671
+ }[];
672
+ day: string;
673
+ isLocked: boolean;
674
+ lockReason: "free_history_limit" | null;
675
+ }[];
676
+ historyLimitDays: number;
677
+ }, {
678
+ days: {
679
+ entries: {
680
+ id: string;
681
+ name: string;
682
+ day: string;
683
+ barcode: string | null;
684
+ source: "barcode" | "manual" | "search";
685
+ nutrients: {
686
+ calories: number;
687
+ proteinG: number;
688
+ carbsG: number;
689
+ fatG: number;
690
+ };
691
+ isEstimated: boolean;
692
+ foodItemId: string | null;
693
+ servings: number;
694
+ servingUnit: string | null;
695
+ consumedAt: string;
696
+ loggedAt: string;
697
+ }[];
698
+ day: string;
699
+ isLocked: boolean;
700
+ lockReason: "free_history_limit" | null;
701
+ }[];
702
+ historyLimitDays: number;
703
+ }>;
704
+ responseCode: z.ZodNumber;
705
+ message: z.ZodString;
706
+ }, "strip", z.ZodTypeAny, {
707
+ message: string;
708
+ success: true;
709
+ responseCode: number;
710
+ data: {
711
+ days: {
712
+ entries: {
713
+ id: string;
714
+ name: string;
715
+ day: string;
716
+ barcode: string | null;
717
+ source: "barcode" | "manual" | "search";
718
+ nutrients: {
719
+ calories: number;
720
+ proteinG: number;
721
+ carbsG: number;
722
+ fatG: number;
723
+ };
724
+ isEstimated: boolean;
725
+ foodItemId: string | null;
726
+ servings: number;
727
+ servingUnit: string | null;
728
+ consumedAt: string;
729
+ loggedAt: string;
730
+ }[];
731
+ day: string;
732
+ isLocked: boolean;
733
+ lockReason: "free_history_limit" | null;
734
+ }[];
735
+ historyLimitDays: number;
736
+ };
737
+ }, {
738
+ message: string;
739
+ success: true;
740
+ responseCode: number;
741
+ data: {
742
+ days: {
743
+ entries: {
744
+ id: string;
745
+ name: string;
746
+ day: string;
747
+ barcode: string | null;
748
+ source: "barcode" | "manual" | "search";
749
+ nutrients: {
750
+ calories: number;
751
+ proteinG: number;
752
+ carbsG: number;
753
+ fatG: number;
754
+ };
755
+ isEstimated: boolean;
756
+ foodItemId: string | null;
757
+ servings: number;
758
+ servingUnit: string | null;
759
+ consumedAt: string;
760
+ loggedAt: string;
761
+ }[];
762
+ day: string;
763
+ isLocked: boolean;
764
+ lockReason: "free_history_limit" | null;
765
+ }[];
766
+ historyLimitDays: number;
767
+ };
768
+ }>;
769
+ export declare const foodLookupQuerySchema: z.ZodObject<{
770
+ barcode: z.ZodString;
771
+ }, "strip", z.ZodTypeAny, {
772
+ barcode: string;
773
+ }, {
774
+ barcode: string;
775
+ }>;
776
+ export declare const foodLookupResponseSchema: z.ZodObject<{
777
+ success: z.ZodLiteral<true>;
778
+ data: z.ZodObject<{
779
+ food: z.ZodNullable<z.ZodObject<{
780
+ id: z.ZodString;
781
+ name: 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>;
787
+ nutrients: z.ZodObject<{
788
+ calories: z.ZodNumber;
789
+ proteinG: z.ZodNumber;
790
+ carbsG: z.ZodNumber;
791
+ fatG: z.ZodNumber;
792
+ }, "strip", z.ZodTypeAny, {
793
+ calories: number;
794
+ proteinG: number;
795
+ carbsG: number;
796
+ fatG: number;
797
+ }, {
798
+ calories: number;
799
+ proteinG: number;
800
+ carbsG: number;
801
+ fatG: number;
802
+ }>;
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;
824
+ }, "strip", z.ZodTypeAny, {
825
+ id: string;
826
+ name: string;
827
+ barcode: string | null;
828
+ brand: string | null;
829
+ source: "authoritative" | "personal" | "community";
830
+ servingLabel: string;
831
+ servingGrams: number | null;
832
+ nutrients: {
833
+ calories: number;
834
+ proteinG: number;
835
+ carbsG: number;
836
+ fatG: number;
837
+ };
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;
847
+ }, {
848
+ id: string;
849
+ name: string;
850
+ barcode: string | null;
851
+ brand: string | null;
852
+ source: "authoritative" | "personal" | "community";
853
+ servingLabel: string;
854
+ servingGrams: number | null;
855
+ nutrients: {
856
+ calories: number;
857
+ proteinG: number;
858
+ carbsG: number;
859
+ fatG: number;
860
+ };
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
+ }>>;
871
+ }, "strip", z.ZodTypeAny, {
872
+ food: {
873
+ id: string;
874
+ name: string;
875
+ barcode: string | null;
876
+ brand: string | null;
877
+ source: "authoritative" | "personal" | "community";
878
+ servingLabel: string;
879
+ servingGrams: number | null;
880
+ nutrients: {
881
+ calories: number;
882
+ proteinG: number;
883
+ carbsG: number;
884
+ fatG: number;
885
+ };
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;
896
+ }, {
897
+ food: {
898
+ id: string;
899
+ name: string;
900
+ barcode: string | null;
901
+ brand: string | null;
902
+ source: "authoritative" | "personal" | "community";
903
+ servingLabel: string;
904
+ servingGrams: number | null;
905
+ nutrients: {
906
+ calories: number;
907
+ proteinG: number;
908
+ carbsG: number;
909
+ fatG: number;
910
+ };
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;
924
+ }, "strip", z.ZodTypeAny, {
925
+ message: string;
926
+ success: true;
927
+ responseCode: number;
928
+ data: {
929
+ food: {
930
+ id: string;
931
+ name: string;
932
+ barcode: string | null;
933
+ brand: string | null;
934
+ source: "authoritative" | "personal" | "community";
935
+ servingLabel: string;
936
+ servingGrams: number | null;
937
+ nutrients: {
938
+ calories: number;
939
+ proteinG: number;
940
+ carbsG: number;
941
+ fatG: number;
942
+ };
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
+ };
954
+ }, {
955
+ message: string;
956
+ success: true;
957
+ responseCode: number;
958
+ data: {
959
+ food: {
960
+ id: string;
961
+ name: string;
962
+ barcode: string | null;
963
+ brand: string | null;
964
+ source: "authoritative" | "personal" | "community";
965
+ servingLabel: string;
966
+ servingGrams: number | null;
967
+ nutrients: {
968
+ calories: number;
969
+ proteinG: number;
970
+ carbsG: number;
971
+ fatG: number;
972
+ };
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
+ };
984
+ }>;
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<{
996
+ success: z.ZodLiteral<true>;
997
+ data: z.ZodObject<{
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<{
1007
+ calories: z.ZodNumber;
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;
1028
+ }, "strip", z.ZodTypeAny, {
1029
+ id: string | null;
1030
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1031
+ label: string;
1032
+ grams: number | null;
1033
+ isDefault: boolean;
1034
+ }, {
1035
+ id: string | null;
1036
+ measure: "serving" | "weight" | "cup" | "tbsp" | "piece";
1037
+ label: string;
1038
+ grams: number | null;
1039
+ isDefault: boolean;
1040
+ }>, "many">;
1041
+ isPersonal: z.ZodBoolean;
1042
+ isEstimated: z.ZodBoolean;
1043
+ }, "strip", z.ZodTypeAny, {
1044
+ id: string;
1045
+ name: 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";
1060
+ label: string;
1061
+ grams: number | null;
1062
+ isDefault: boolean;
1063
+ }[];
1064
+ isPersonal: boolean;
1065
+ isEstimated: boolean;
1066
+ }, {
1067
+ id: string;
1068
+ name: 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";
1083
+ label: string;
1084
+ grams: number | null;
1085
+ isDefault: boolean;
1086
+ }[];
1087
+ isPersonal: boolean;
1088
+ isEstimated: boolean;
1089
+ }>, "many">;
1090
+ }, "strip", z.ZodTypeAny, {
1091
+ items: {
1092
+ id: string;
1093
+ name: 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";
1108
+ label: string;
1109
+ grams: number | null;
1110
+ isDefault: boolean;
1111
+ }[];
1112
+ isPersonal: boolean;
1113
+ isEstimated: boolean;
1114
+ }[];
1115
+ }, {
1116
+ items: {
1117
+ id: string;
1118
+ name: 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";
1133
+ label: string;
1134
+ grams: number | null;
1135
+ isDefault: boolean;
1136
+ }[];
1137
+ isPersonal: boolean;
1138
+ isEstimated: boolean;
1139
+ }[];
1140
+ }>;
1141
+ responseCode: z.ZodNumber;
1142
+ message: z.ZodString;
1143
+ }, "strip", z.ZodTypeAny, {
1144
+ message: string;
1145
+ success: true;
1146
+ responseCode: number;
1147
+ data: {
1148
+ items: {
1149
+ id: string;
1150
+ name: 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";
1165
+ label: string;
1166
+ grams: number | null;
1167
+ isDefault: boolean;
1168
+ }[];
1169
+ isPersonal: boolean;
1170
+ isEstimated: boolean;
1171
+ }[];
1172
+ };
1173
+ }, {
1174
+ message: string;
1175
+ success: true;
1176
+ responseCode: number;
1177
+ data: {
1178
+ items: {
1179
+ id: string;
1180
+ name: 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";
1195
+ label: string;
1196
+ grams: number | null;
1197
+ isDefault: boolean;
1198
+ }[];
1199
+ isPersonal: boolean;
1200
+ isEstimated: boolean;
1201
+ }[];
1202
+ };
1203
+ }>;
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
+ id: string;
1261
+ name: 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
+ id: string;
1284
+ name: 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
+ id: string;
1309
+ name: 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
+ id: string;
1334
+ name: 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
+ id: string;
1366
+ name: 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
+ };
1388
+ };
1389
+ }, {
1390
+ message: string;
1391
+ success: true;
1392
+ responseCode: number;
1393
+ data: {
1394
+ food: {
1395
+ id: string;
1396
+ name: 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
+ id: string;
1541
+ name: 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
+ id: string;
1559
+ name: 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
+ id: string;
1598
+ name: 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
+ id: string;
1625
+ name: 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
+ id: string;
1659
+ name: 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
+ id: string;
1691
+ name: 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
+ id: string;
1767
+ name: 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
+ id: string;
1785
+ name: 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
+ id: string;
1805
+ name: 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
+ id: string;
1825
+ name: 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
+ id: string;
1852
+ name: 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
+ id: string;
1877
+ name: 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
+ id: string;
1946
+ name: 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
+ id: string;
1969
+ name: 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
+ id: string;
1994
+ name: 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
+ id: string;
2019
+ name: 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
+ id: string;
2051
+ name: 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
+ id: string;
2081
+ name: 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";
2392
+ auth: "user";
2393
+ };
2394
+ };
2395
+ //# sourceMappingURL=foods.d.ts.map