import { Key } from '../catalog'; export declare type RID = number; export interface RecipeList { products: ProductRecipe[]; options: OptionRecipe[]; } export interface ProductRecipe { name: string; rid: RID; aliases: string[]; products: ProductTemplate[]; } export interface OptionRecipe { name: string; rid: RID; aliases: string[]; options: OptionTemplate[]; } export interface ProductTemplate { quantity: number; key: Key; options: OptionTemplate[]; } export interface OptionTemplate { quantity: number; key: Key; } export interface ICookbook { productRecipes(): IterableIterator; optionRecipes(): IterableIterator; findProductRecipe(rid: RID, parent: Key): ProductRecipe; findOptionRecipe(rid: RID, parent: Key): OptionRecipe; }