UNPKG

@kitten-science/kitten-engineers

Version:
22 lines 2.06 kB
import type { PayloadBuildings } from "@kitten-science/kitten-analysts/KittenAnalysts.js"; import type { EngineState } from "@kitten-science/kitten-scientists/Engine.js"; import type { Game } from "@kitten-science/kitten-scientists/types/game.js"; import type { TreeNode } from "@oliversalzburg/js-utils/data/tree.js"; export declare const Solutions: readonly ["academy", "accelerator", "aiCore", "amphitheatre", "aqueduct", "barn", "biolab", "brewery", "calciner", "chapel", "chronosphere", "factory", "field", "harbor", "hut", "library", "logHouse", "lumberMill", "magneto", "mansion", "mine", "mint", "observatory", "oilWell", "pasture", "quarry", "reactor", "smelter", "steamworks", "temple", "tradepost", "unicornPasture", "warehouse", "workshop", "zebraForge", "zebraOutpost", "zebraWorkshop", "ziggurat", "alloy", "beam", "bloodstone", "blueprint", "compedium", "concrate", "eludium", "gear", "kerosene", "manuscript", "megalith", "parchment", "plate", "scaffold", "ship", "slab", "steel", "tanker", "tMythril", "thorium", "wood", "alicorn", "antimatter", "blackcoin", "burnedParagon", "catnip", "coal", "culture", "elderBox", "faith", "furs", "gflops", "gold", "hashrates", "iron", "ivory", "karma", "kittens", "manpower", "minerals", "necrocorn", "oil", "paragon", "relic", "science", "sorrow", "spice", "starchart", "tears", "temporalFlux", "timeCrystal", "titanium", "unicorns", "unobtainium", "uranium", "void", "wrappingPaper", "zebras"]; export type Solution = (typeof Solutions)[number]; export interface Operator extends TreeNode<Operator> { name: string; requires: Array<Solution>; solves: Array<Solution>; ancestors: Set<Operator>; calculateCost: () => number; execute: (game: Game, state: EngineState, snapshots: { buildings: PayloadBuildings; }) => EngineState; } export declare class GraphSolver { operators: Iterable<Operator>; constructor(operators: Iterable<Operator>); solve(node: Operator, root?: Operator, parents?: Iterable<Operator>): Operator; } //# sourceMappingURL=GraphSolver.d.ts.map