export * from './recipe.js';
export * from './mealPlan.js';
export * from './shoppingList.js';
export * from './dishCombination.js';
import { z } from 'zod';
export declare const SuccessResponse: z.ZodObject<{
    success: z.ZodDefault<z.ZodBoolean>;
    message: z.ZodOptional<z.ZodString>;
    data: z.ZodOptional<z.ZodAny>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    message?: string | undefined;
    data?: any;
}, {
    message?: string | undefined;
    success?: boolean | undefined;
    data?: any;
}>;
export type SuccessResponse<T = any> = {
    success: true;
    message?: string;
    data?: T;
};
export declare const ErrorResponse: z.ZodObject<{
    success: z.ZodDefault<z.ZodBoolean>;
    error: z.ZodString;
    details: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    error: string;
    details?: string | undefined;
}, {
    error: string;
    success?: boolean | undefined;
    details?: string | undefined;
}>;
export type ErrorResponse = {
    success: false;
    error: string;
    details?: string;
};
export type MCPResponse<T = any> = SuccessResponse<T> | ErrorResponse;
export declare const PaginationParams: z.ZodObject<{
    page: z.ZodDefault<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
    sortBy: z.ZodOptional<z.ZodString>;
    sortOrder: z.ZodDefault<z.ZodEnum<["asc", "desc"]>>;
}, "strip", z.ZodTypeAny, {
    page: number;
    limit: number;
    sortOrder: "asc" | "desc";
    sortBy?: string | undefined;
}, {
    page?: number | undefined;
    limit?: number | undefined;
    sortBy?: string | undefined;
    sortOrder?: "asc" | "desc" | undefined;
}>;
export type PaginationParams = z.infer<typeof PaginationParams>;
export declare const PaginatedResponse: z.ZodObject<{
    items: z.ZodArray<z.ZodAny, "many">;
    totalCount: z.ZodNumber;
    page: z.ZodNumber;
    limit: z.ZodNumber;
    totalPages: z.ZodNumber;
    hasNext: z.ZodBoolean;
    hasPrevious: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    totalCount: number;
    items: any[];
    page: number;
    limit: number;
    totalPages: number;
    hasNext: boolean;
    hasPrevious: boolean;
}, {
    totalCount: number;
    items: any[];
    page: number;
    limit: number;
    totalPages: number;
    hasNext: boolean;
    hasPrevious: boolean;
}>;
export type PaginatedResponse<T = any> = {
    items: T[];
    totalCount: number;
    page: number;
    limit: number;
    totalPages: number;
    hasNext: boolean;
    hasPrevious: boolean;
};
export declare const SearchParams: z.ZodObject<{
    query: z.ZodString;
    categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    difficulty: z.ZodOptional<z.ZodString>;
    maxPrepTime: z.ZodOptional<z.ZodString>;
    maxCookTime: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    query: string;
    difficulty?: string | undefined;
    tags?: string[] | undefined;
    categories?: string[] | undefined;
    maxPrepTime?: string | undefined;
    maxCookTime?: string | undefined;
}, {
    query: string;
    difficulty?: string | undefined;
    tags?: string[] | undefined;
    categories?: string[] | undefined;
    maxPrepTime?: string | undefined;
    maxCookTime?: string | undefined;
}>;
export type SearchParams = z.infer<typeof SearchParams>;
//# sourceMappingURL=index.d.ts.map