import type { MealType, NutrientMap } from "../types.js"; export type CoachMode = "daily_coach" | "suggest_next_meal" | "after_log_review" | "pre_workout_nutrition" | "evening_checkin"; export interface CoachInput { mode: CoachMode; date?: string | undefined; locale: string; focus?: "balanced" | "protein" | "calories" | "hydration" | "training" | undefined; meal_type?: MealType | undefined; wearable_context?: Record | undefined; /** * When true and no inline wearable_context is provided, attempt to read the * most recent shared wellness_context from ~/.delx-wellness/. Reported in * `wellness_context.wearable_pull`; never fabricates data. */ auto_wearable?: boolean | undefined; workout_context?: string | undefined; recent_intake_id?: string | undefined; } export interface CoachOutput { mode: CoachMode; date: string; locale: string; focus: string; requires_confirmation_to_log: true; summary: { entry_count: number; calories_kcal: number; protein_g: number; carbohydrates_g: number; fat_g: number; hydration_ml: number; confidence: number; }; gaps: Record; wellness_context: { sources: string[]; wearable_context?: Record; workout_context?: string; intake_refs: string[]; /** * Provenance for the wearable_context when auto_wearable was requested. * `mode` is "inline" (passed by caller), "auto" (read from shared file), * or "none" (requested but nothing on disk / not requested). */ wearable_pull?: { mode: "inline" | "auto" | "none"; available: boolean; source_path?: string; note: string; }; }; suggested_next_meal: { text: string; meal_type: MealType; reason: string; estimated_nutrients: NutrientMap; confidence: number; }; next_actions: string[]; reminders: string[]; warnings: string[]; } export declare function buildNutritionCoach(rawInput: CoachInput): Promise;