import type { Tool } from '@modelcontextprotocol/sdk/types.js';
import { z } from 'zod';
import { RecipeCategory, type MCPResponse } from '../types/index.js';
declare const GetRecipesByCategoryInput: z.ZodObject<{
    category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>;
    limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["name", "difficulty", "prepTime", "cookTime", "dateAdded"]>>>;
    sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<["asc", "desc"]>>>;
    includeStats: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
    limit?: number | undefined;
    sortBy?: "name" | "difficulty" | "prepTime" | "cookTime" | "dateAdded" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    includeStats?: boolean | undefined;
}, {
    category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
    limit?: number | undefined;
    sortBy?: "name" | "difficulty" | "prepTime" | "cookTime" | "dateAdded" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    includeStats?: boolean | undefined;
}>;
type GetRecipesByCategoryInput = z.infer<typeof GetRecipesByCategoryInput>;
declare const CategoryRecipesResponse: z.ZodObject<{
    category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>;
    recipes: z.ZodArray<z.ZodAny, "many">;
    totalCount: z.ZodNumber;
    statistics: z.ZodOptional<z.ZodObject<{
        difficultyDistribution: z.ZodRecord<z.ZodString, z.ZodNumber>;
        averagePrepTime: z.ZodString;
        averageCookTime: z.ZodString;
        averageServings: z.ZodNumber;
        commonTags: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        difficultyDistribution: Record<string, number>;
        averagePrepTime: string;
        averageCookTime: string;
        averageServings: number;
        commonTags: string[];
    }, {
        difficultyDistribution: Record<string, number>;
        averagePrepTime: string;
        averageCookTime: string;
        averageServings: number;
        commonTags: string[];
    }>>;
}, "strip", z.ZodTypeAny, {
    category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
    recipes: any[];
    totalCount: number;
    statistics?: {
        difficultyDistribution: Record<string, number>;
        averagePrepTime: string;
        averageCookTime: string;
        averageServings: number;
        commonTags: string[];
    } | undefined;
}, {
    category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
    recipes: any[];
    totalCount: number;
    statistics?: {
        difficultyDistribution: Record<string, number>;
        averagePrepTime: string;
        averageCookTime: string;
        averageServings: number;
        commonTags: string[];
    } | undefined;
}>;
/**
 * Tool definition for getting recipes by category
 */
export declare const getRecipesByCategoryTool: Tool;
/**
 * Handler for get_recipes_by_category tool
 */
export declare function handleGetRecipesByCategory(input: GetRecipesByCategoryInput): Promise<MCPResponse<z.infer<typeof CategoryRecipesResponse>>>;
/**
 * Get available categories with counts
 */
export declare function getAvailableCategories(): Array<{
    category: RecipeCategory;
    count: number;
}>;
export {};
//# sourceMappingURL=getRecipesByCategory.d.ts.map