/** * A structure representing a required material. */ export interface RequiredMaterial { /** * The material name. */ name: string; /** * The quantity needed. */ quantity?: number; /** * The price of the material. */ price?: number; } /** * A structure representing a material that can be made. */ export interface MaterialCounter { /** * Name of the material. */ name: string; /** * Materials required to make this material. */ required?: RequiredMaterial[]; /** * The price of this material. */ price: number; } /** * A lazy way to count in crafting structure. */ export declare class LazyCounter { /** * Compute the cost of a specific material. * @param {string} itemName The name of the material. * @param {MaterialCounter[]} materials The list of materials and what's required to make what. * @returns {number} The price it cost in total for the material. */ static fullPrice(itemName: string, ...materials: MaterialCounter[]): number; /** * Get the full list of basic materials required for a desired material. * @param {string} itemName The name of the material. * @param {MaterialCounter[]} materials The list of materials and what's required to make what. * @returns {RequiredMaterial[]} The full list of basic materials required for a desired material. */ static allRowMaterials(itemName: string, ...materials: MaterialCounter[]): RequiredMaterial[]; private static findItem; } //# sourceMappingURL=lazyCounter.d.ts.map