use crate::recipes::{OwnedShapedRecipe, OwnedShapelessRecipe, Recipe, RecipeId};
pub trait RecipeRegistryHandle {
fn add_shaped(&mut self, recipe: OwnedShapedRecipe);
fn add_shapeless(&mut self, recipe: OwnedShapelessRecipe);
fn remove_by_id(&mut self, id: &RecipeId) -> Option<Recipe>;
fn remove_by_result(&mut self, result_id: i32) -> Vec<RecipeId>;
fn clear(&mut self) -> Vec<RecipeId>;
fn contains(&self, id: &RecipeId) -> bool;
fn find_by_id(&self, id: &RecipeId) -> Option<Recipe>;
fn shaped_count(&self) -> usize;
fn shapeless_count(&self) -> usize;
}