import { Effect } from "kolmafia"; import { Tuple } from "../../utils.js"; /** * Determines whether the Model Train Set is your current workshed * * @returns Whether the Model Train Set is your current workshed */ export declare function installed(): boolean; /** * Determines whether you `have` the model train set (or if it is installed) * * @returns Whether you `have` the model train set or it's installed */ export declare function have(): boolean; export declare enum Station { /** * Unknown station */ UNKNOWN = "", /** * Empty station */ EMPTY = "empty", /** * Gain 800 meat */ GAIN_MEAT = "meat_mine", /** * Effect: Regenerate MP */ TOWER_FIZZY = "tower_fizzy", /** * Gain mus, mys, mox stats */ VIEWING_PLATFORM = "viewing_platform", /** * Effect: Hot resist, cold damage */ TOWER_FROZEN = "tower_frozen", /** * Effect: Stench resist, spooky damage */ SPOOKY_GRAVEYARD = "spooky_graveyard", /** * Get smut bridge part, or stats */ LOGGING_MILL = "logging_mill", /** * Get some candy */ CANDY_FACTORY = "candy_factory", /** * Double strength of next station */ COAL_HOPPER = "coal_hopper", /** * Effect: Cold resist, stench damage */ TOWER_SEWAGE = "tower_sewage", /** * Effect: Spooky resist, sleaze damage */ OIL_REFINERY = "oil_refinery", /** * Effect: Sleaze resist, hot damage */ OIL_BRIDGE = "oil_bridge", /** * Effect: Increased Monster Level */ WATER_BRIDGE = "water_bridge", /** * Get moxie stats */ GROIN_SILO = "groin_silo", /** * Get random booze */ GRAIN_SILO = "grain_silo", /** * Get mys stats */ BRAIN_SILO = "brain_silo", /** * Get muscle stats */ BRAWN_SILO = "brawn_silo", /** * Effect: 50% food drop */ PRAWN_SILO = "prawn_silo", /** * Dupe last food dropped, or gain random food */ TRACKSIDE_DINER = "trackside_diner", /** * Drop random ore, or trapper ore if known */ ORE_HOPPER = "ore_hopper" } /** * Returns an effect--if one exists--for a given train station * * @param station The train station to check the effect of * @returns The effect associated with the given station */ export declare function effect(station: Station): Effect | null; /** * Returns an effect--if one exists--for a given train station, assuming it's been primed by the coal station * * @param station The train station to check the doubled effect of * @returns The effect associated with given station, under the influence of coal */ export declare function doubledEffect(station: Station): Effect | null; export type Cycle = Tuple; /** * Determines the current configuration of train stations * * @returns An 8-tuple consisting of the stations currently installed in your Model Train Set; this functions even if the Model Train Set isn't your active workshed */ export declare function cycle(): Cycle; /** * Determines how many turns until you can next configure the Model Train Set * * @returns How many turns until you can next configure the Model Train Set */ export declare function nextConfigurable(): number; /** * Determines whether you can currently configure your Model Train Set * * @returns Whether you can currently configure your Model Train Set */ export declare function canConfigure(): boolean; /** * Sets your model train station to the given configuration, if able * * @param configuration The cycle to try to set your model train station to * @returns Whether your model train station matches the given configuration */ export declare function setConfiguration(configuration: Cycle): boolean; /** * Determines the next station you expect to encounter when the Model Train Station is active * * @returns The next station you expect to encounter when the Model Train Station is active */ export declare function next(): Station;