import { PrismaService } from '../prisma/prisma.service'; import { AiService } from '../ai/ai.service'; type AnalysisStatus = 'exact_match' | 'covered_by_pantry' | 'substitutable' | 'missing'; export declare class RecipeAnalysisService { private readonly prisma; private readonly aiService; constructor(prisma: PrismaService, aiService: AiService); private getAccessibleRecipe; private calculateAvailableQuantity; analyzeRecipeIngredients(id: number, userId: number): Promise<{ recipeId: number; ingredients: ({ ingredientId: any; rawName: any; quantity: number; unit: any; note: any; status: AnalysisStatus; matchedProductId: any; matchedProductName: any; source: string; availableQuantity: number; missingQuantity: number; } | { ingredientId: any; rawName: any; quantity: number; unit: any; note: any; status: AnalysisStatus; matchedProductId: any; matchedProductName: any; source: null; availableQuantity: number; missingQuantity: number; })[]; summary: { exactCount: number; pantryCount: number; substituteCount: number; missingCount: number; }; shoppingListCandidates: { ingredientId: any; rawName: any; quantity: number; unit: any; missingQuantity: number; }[]; }>; rematchRecipeIngredients(id: number, userId: number): Promise<{ recipeId: number; ingredients: ({ ingredientId: any; rawName: any; quantity: number; unit: any; note: any; status: AnalysisStatus; matchedProductId: any; matchedProductName: any; source: string; availableQuantity: number; missingQuantity: number; } | { ingredientId: any; rawName: any; quantity: number; unit: any; note: any; status: AnalysisStatus; matchedProductId: any; matchedProductName: any; source: null; availableQuantity: number; missingQuantity: number; })[]; summary: { exactCount: number; pantryCount: number; substituteCount: number; missingCount: number; }; shoppingListCandidates: { ingredientId: any; rawName: any; quantity: number; unit: any; missingQuantity: number; }[]; }>; } export {};