UNPKG

cook-mcp-windy

Version:

HowToCook MCP Server - Intelligent Chinese recipe management and meal planning for AI assistants

1,231 lines (1,230 loc) 57.8 kB
import { z } from 'zod'; export declare const MealType: z.ZodEnum<["早餐", "午餐", "晚餐", "加餐", "夜宵"]>; export type MealType = z.infer<typeof MealType>; export declare const DayOfWeek: z.ZodEnum<["周一", "周二", "周三", "周四", "周五", "周六", "周日"]>; export type DayOfWeek = z.infer<typeof DayOfWeek>; export declare const DietaryRestriction: z.ZodEnum<["素食", "纯素食", "无麸质", "低盐", "低糖", "低脂", "高蛋白", "无坚果", "无海鲜", "无乳制品"]>; export type DietaryRestriction = z.infer<typeof DietaryRestriction>; export declare const MealPlanPreferences: z.ZodObject<{ numberOfPeople: z.ZodNumber; dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodEnum<["素食", "纯素食", "无麸质", "低盐", "低糖", "低脂", "高蛋白", "无坚果", "无海鲜", "无乳制品"]>, "many">>; allergies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>; cookingSkillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>; timeConstraints: z.ZodOptional<z.ZodObject<{ maxPrepTime: z.ZodOptional<z.ZodString>; maxCookTime: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }>>; nutritionalGoals: z.ZodOptional<z.ZodObject<{ targetCalories: z.ZodOptional<z.ZodNumber>; highProtein: z.ZodOptional<z.ZodBoolean>; lowCarb: z.ZodOptional<z.ZodBoolean>; balanced: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }>; export type MealPlanPreferences = z.infer<typeof MealPlanPreferences>; export declare const PlannedMeal: z.ZodObject<{ mealType: z.ZodEnum<["早餐", "午餐", "晚餐", "加餐", "夜宵"]>; recipe: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional<z.ZodString>; category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>; difficulty: z.ZodEnum<["简单", "中等", "困难"]>; servings: z.ZodNumber; prepTime: z.ZodString; cookTime: z.ZodString; totalTime: z.ZodString; ingredients: z.ZodArray<z.ZodObject<{ name: z.ZodString; amount: z.ZodString; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; amount: string; notes?: string | undefined; }, { name: string; amount: string; notes?: string | undefined; }>, "many">; steps: z.ZodArray<z.ZodObject<{ stepNumber: z.ZodNumber; instruction: z.ZodString; duration: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodString>; tips: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }>, "many">; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; cookingMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<["炒", "煮", "蒸", "烤", "炸", "焖", "炖", "煎", "拌", "腌", "烧", "卤"]>, "many">>; nutritionalInfo: z.ZodOptional<z.ZodObject<{ calories: z.ZodOptional<z.ZodNumber>; protein: z.ZodOptional<z.ZodString>; carbs: z.ZodOptional<z.ZodString>; fat: z.ZodOptional<z.ZodString>; fiber: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }>>; tips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; variations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; imageUrl: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; dateAdded: z.ZodString; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }>; servings: z.ZodNumber; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }>; export type PlannedMeal = z.infer<typeof PlannedMeal>; export declare const DailyMealPlan: z.ZodObject<{ day: z.ZodEnum<["周一", "周二", "周三", "周四", "周五", "周六", "周日"]>; date: z.ZodString; meals: z.ZodArray<z.ZodObject<{ mealType: z.ZodEnum<["早餐", "午餐", "晚餐", "加餐", "夜宵"]>; recipe: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional<z.ZodString>; category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>; difficulty: z.ZodEnum<["简单", "中等", "困难"]>; servings: z.ZodNumber; prepTime: z.ZodString; cookTime: z.ZodString; totalTime: z.ZodString; ingredients: z.ZodArray<z.ZodObject<{ name: z.ZodString; amount: z.ZodString; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; amount: string; notes?: string | undefined; }, { name: string; amount: string; notes?: string | undefined; }>, "many">; steps: z.ZodArray<z.ZodObject<{ stepNumber: z.ZodNumber; instruction: z.ZodString; duration: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodString>; tips: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }>, "many">; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; cookingMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<["炒", "煮", "蒸", "烤", "炸", "焖", "炖", "煎", "拌", "腌", "烧", "卤"]>, "many">>; nutritionalInfo: z.ZodOptional<z.ZodObject<{ calories: z.ZodOptional<z.ZodNumber>; protein: z.ZodOptional<z.ZodString>; carbs: z.ZodOptional<z.ZodString>; fat: z.ZodOptional<z.ZodString>; fiber: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }>>; tips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; variations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; imageUrl: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; dateAdded: z.ZodString; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }>; servings: z.ZodNumber; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }>, "many">; totalCalories: z.ZodOptional<z.ZodNumber>; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }, { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }>; export type DailyMealPlan = z.infer<typeof DailyMealPlan>; export declare const WeeklyMealPlan: z.ZodObject<{ id: z.ZodString; name: z.ZodString; startDate: z.ZodString; endDate: z.ZodString; preferences: z.ZodObject<{ numberOfPeople: z.ZodNumber; dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodEnum<["素食", "纯素食", "无麸质", "低盐", "低糖", "低脂", "高蛋白", "无坚果", "无海鲜", "无乳制品"]>, "many">>; allergies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>; cookingSkillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>; timeConstraints: z.ZodOptional<z.ZodObject<{ maxPrepTime: z.ZodOptional<z.ZodString>; maxCookTime: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }>>; nutritionalGoals: z.ZodOptional<z.ZodObject<{ targetCalories: z.ZodOptional<z.ZodNumber>; highProtein: z.ZodOptional<z.ZodBoolean>; lowCarb: z.ZodOptional<z.ZodBoolean>; balanced: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }, { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }, { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }>; dailyPlans: z.ZodArray<z.ZodObject<{ day: z.ZodEnum<["周一", "周二", "周三", "周四", "周五", "周六", "周日"]>; date: z.ZodString; meals: z.ZodArray<z.ZodObject<{ mealType: z.ZodEnum<["早餐", "午餐", "晚餐", "加餐", "夜宵"]>; recipe: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional<z.ZodString>; category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>; difficulty: z.ZodEnum<["简单", "中等", "困难"]>; servings: z.ZodNumber; prepTime: z.ZodString; cookTime: z.ZodString; totalTime: z.ZodString; ingredients: z.ZodArray<z.ZodObject<{ name: z.ZodString; amount: z.ZodString; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; amount: string; notes?: string | undefined; }, { name: string; amount: string; notes?: string | undefined; }>, "many">; steps: z.ZodArray<z.ZodObject<{ stepNumber: z.ZodNumber; instruction: z.ZodString; duration: z.ZodOptional<z.ZodString>; temperature: z.ZodOptional<z.ZodString>; tips: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }, { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }>, "many">; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; cookingMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<["炒", "煮", "蒸", "烤", "炸", "焖", "炖", "煎", "拌", "腌", "烧", "卤"]>, "many">>; nutritionalInfo: z.ZodOptional<z.ZodObject<{ calories: z.ZodOptional<z.ZodNumber>; protein: z.ZodOptional<z.ZodString>; carbs: z.ZodOptional<z.ZodString>; fat: z.ZodOptional<z.ZodString>; fiber: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }, { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; }>>; tips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; variations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; imageUrl: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; dateAdded: z.ZodString; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }, { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }>; servings: z.ZodNumber; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }, { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }>, "many">; totalCalories: z.ZodOptional<z.ZodNumber>; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }, { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }>, "many">; createdAt: z.ZodString; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; lastModified: string; startDate: string; endDate: string; preferences: { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }; dailyPlans: { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }[]; createdAt: string; }, { name: string; id: string; lastModified: string; startDate: string; endDate: string; preferences: { numberOfPeople: number; dietaryRestrictions?: ("素食" | "纯素食" | "无麸质" | "低盐" | "低糖" | "低脂" | "高蛋白" | "无坚果" | "无海鲜" | "无乳制品")[] | undefined; allergies?: string[] | undefined; preferredCategories?: string[] | undefined; excludedCategories?: string[] | undefined; budgetLevel?: "中等" | "经济" | "高档" | undefined; cookingSkillLevel?: "初学者" | "中级" | "高级" | undefined; timeConstraints?: { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; } | undefined; nutritionalGoals?: { targetCalories?: number | undefined; highProtein?: boolean | undefined; lowCarb?: boolean | undefined; balanced?: boolean | undefined; } | undefined; }; dailyPlans: { date: string; day: "周一" | "周二" | "周三" | "周四" | "周五" | "周六" | "周日"; meals: { servings: number; mealType: "早餐" | "午餐" | "晚餐" | "加餐" | "夜宵"; recipe: { name: string; id: string; category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜"; difficulty: "简单" | "中等" | "困难"; servings: number; prepTime: string; cookTime: string; totalTime: string; ingredients: { name: string; amount: string; notes?: string | undefined; }[]; steps: { stepNumber: number; instruction: string; duration?: string | undefined; temperature?: string | undefined; tips?: string | undefined; }[]; dateAdded: string; lastModified: string; tips?: string[] | undefined; description?: string | undefined; tags?: string[] | undefined; cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined; nutritionalInfo?: { calories?: number | undefined; protein?: string | undefined; carbs?: string | undefined; fat?: string | undefined; fiber?: string | undefined; } | undefined; variations?: string[] | undefined; imageUrl?: string | undefined; source?: string | undefined; }; notes?: string | undefined; }[]; notes?: string | undefined; totalCalories?: number | undefined; }[]; createdAt: string; }>; export type WeeklyMealPlan = z.infer<typeof WeeklyMealPlan>; export declare const MealPlanRequest: z.ZodObject<{ preferences: z.ZodObject<{ numberOfPeople: z.ZodNumber; dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodEnum<["素食", "纯素食", "无麸质", "低盐", "低糖", "低脂", "高蛋白", "无坚果", "无海鲜", "无乳制品"]>, "many">>; allergies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>; cookingSkillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>; timeConstraints: z.ZodOptional<z.ZodObject<{ maxPrepTime: z.ZodOptional<z.ZodString>; maxCookTime: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { maxPrepTime?: string | undefined; maxCookTime?: string | undefined; }, {