/** * CraftingSystem.ts * * Recipe-based crafting: ingredients, workbenches, * recipe discovery, and crafting output. * * @module gameplay */ export interface CraftingIngredient { itemId: string; quantity: number; } export interface CraftingRecipe { id: string; name: string; ingredients: CraftingIngredient[]; output: { itemId: string; quantity: number; }; workbenchType: string | null; craftTime: number; discovered: boolean; level: number; } export declare class CraftingSystem { private recipes; private discoveredRecipes; private craftingQueue; private playerLevel; addRecipe(recipe: CraftingRecipe): void; getRecipe(id: string): CraftingRecipe | undefined; discoverRecipe(id: string): boolean; canCraft(recipeId: string, availableItems: Map): boolean; startCraft(recipeId: string, availableItems: Map): boolean; update(dt: number): Array<{ itemId: string; quantity: number; }>; checkDiscovery(heldItems: string[]): CraftingRecipe[]; setPlayerLevel(level: number): void; getPlayerLevel(): number; getRecipeCount(): number; getDiscoveredCount(): number; getQueueLength(): number; getAvailableRecipes(availableItems: Map): CraftingRecipe[]; getRecipesByWorkbench(workbenchType: string): CraftingRecipe[]; } //# sourceMappingURL=CraftingSystem.d.ts.map