import type { Tool } from '@modelcontextprotocol/sdk/types.js';
import { z } from 'zod';
import { type MCPResponse } from '../types/index.js';
declare const GetRecipeDetailsInput: z.ZodObject<{
    identifier: z.ZodString;
    searchBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["id", "name"]>>>;
    includeRelated: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    includeNutrition: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    scaleServings: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    identifier: string;
    searchBy?: "name" | "id" | undefined;
    includeRelated?: boolean | undefined;
    includeNutrition?: boolean | undefined;
    scaleServings?: number | undefined;
}, {
    identifier: string;
    searchBy?: "name" | "id" | undefined;
    includeRelated?: boolean | undefined;
    includeNutrition?: boolean | undefined;
    scaleServings?: number | undefined;
}>;
type GetRecipeDetailsInput = z.infer<typeof GetRecipeDetailsInput>;
declare const RecipeDetailsResponse: z.ZodObject<{
    recipe: z.ZodAny;
    scaledForServings: z.ZodOptional<z.ZodNumber>;
    relatedRecipes: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    nutritionalAnalysis: z.ZodOptional<z.ZodObject<{
        caloriesPerServing: z.ZodOptional<z.ZodNumber>;
        macronutrients: z.ZodOptional<z.ZodObject<{
            protein: z.ZodOptional<z.ZodString>;
            carbs: z.ZodOptional<z.ZodString>;
            fat: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        }, {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        }>>;
        dietaryInfo: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        caloriesPerServing?: number | undefined;
        macronutrients?: {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        } | undefined;
        dietaryInfo?: string[] | undefined;
    }, {
        caloriesPerServing?: number | undefined;
        macronutrients?: {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        } | undefined;
        dietaryInfo?: string[] | undefined;
    }>>;
    cookingAnalysis: z.ZodObject<{
        totalActiveTime: z.ZodString;
        difficultyReason: z.ZodString;
        skillsRequired: z.ZodArray<z.ZodString, "many">;
        equipmentNeeded: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        totalActiveTime: string;
        difficultyReason: string;
        skillsRequired: string[];
        equipmentNeeded: string[];
    }, {
        totalActiveTime: string;
        difficultyReason: string;
        skillsRequired: string[];
        equipmentNeeded: string[];
    }>;
}, "strip", z.ZodTypeAny, {
    cookingAnalysis: {
        totalActiveTime: string;
        difficultyReason: string;
        skillsRequired: string[];
        equipmentNeeded: string[];
    };
    recipe?: any;
    scaledForServings?: number | undefined;
    relatedRecipes?: any[] | undefined;
    nutritionalAnalysis?: {
        caloriesPerServing?: number | undefined;
        macronutrients?: {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        } | undefined;
        dietaryInfo?: string[] | undefined;
    } | undefined;
}, {
    cookingAnalysis: {
        totalActiveTime: string;
        difficultyReason: string;
        skillsRequired: string[];
        equipmentNeeded: string[];
    };
    recipe?: any;
    scaledForServings?: number | undefined;
    relatedRecipes?: any[] | undefined;
    nutritionalAnalysis?: {
        caloriesPerServing?: number | undefined;
        macronutrients?: {
            protein?: string | undefined;
            carbs?: string | undefined;
            fat?: string | undefined;
        } | undefined;
        dietaryInfo?: string[] | undefined;
    } | undefined;
}>;
/**
 * Tool definition for getting recipe details
 */
export declare const getRecipeDetailsTool: Tool;
/**
 * Handler for get_recipe_details tool
 */
export declare function handleGetRecipeDetails(input: GetRecipeDetailsInput): Promise<MCPResponse<z.infer<typeof RecipeDetailsResponse>>>;
export {};
//# sourceMappingURL=getRecipeDetails.d.ts.map