import type { Tool } from '@modelcontextprotocol/sdk/types.js';
import { z } from 'zod';
import { Recipe, PaginatedResponse, type MCPResponse } from '../types/index.js';
declare const GetAllRecipesInput: z.ZodObject<{
    page: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["name", "category", "difficulty", "prepTime", "cookTime", "dateAdded"]>>>;
    sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<["asc", "desc"]>>>;
    includeDetails: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    limit?: number | undefined;
    sortBy?: "name" | "category" | "difficulty" | "prepTime" | "cookTime" | "dateAdded" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    includeDetails?: boolean | undefined;
}, {
    page?: number | undefined;
    limit?: number | undefined;
    sortBy?: "name" | "category" | "difficulty" | "prepTime" | "cookTime" | "dateAdded" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    includeDetails?: boolean | undefined;
}>;
type GetAllRecipesInput = z.infer<typeof GetAllRecipesInput>;
/**
 * Tool definition for getting all recipes
 */
export declare const getAllRecipesTool: Tool;
/**
 * Handler for get_all_recipes tool
 */
export declare function handleGetAllRecipes(input: GetAllRecipesInput): Promise<MCPResponse<PaginatedResponse<Recipe>>>;
/**
 * Get recipe statistics for summary
 */
export declare function getRecipesSummary(): {
    totalRecipes: number;
    categories: string[];
    difficulties: string[];
    averagePrepTime: string;
    averageCookTime: string;
};
export {};
//# sourceMappingURL=getAllRecipes.d.ts.map