import { Effect, Item, Monster, Skill } from "kolmafia"; import { Copier } from "../../Copier.js"; /** * @returns Is the terminal currently installed & available in our campground? */ export declare function have(): boolean; /** * Buffs that can be acquired from Enhance * * - Items: +30% Item Drop * - Meat: +60% Meat Drop * - Init: +50% Initiative * - Critical: +10% chance of Critical Hit, +10% chance of Spell Critical Hit * - Damage: +5 Prismatic Damage * - Substats: +3 Stats Per Fight */ export declare const Buffs: { Items: Effect; Meat: Effect; Init: Effect; Critical: Effect; Damage: Effect; Substats: Effect; }; /** * Acquire a buff from the Source Terminal * * @param buff The buff to acquire * @see Buffs * @returns Whether we successfully acquired the buff */ export declare function enhance(buff: Effect): boolean; /** * Rollover buffs that can be acquired from Enquiry */ export declare const RolloverBuffs: { /** +5 Familiar Weight */ Familiar: Effect; /** +25 ML */ Monsters: Effect; /** +5 Prismatic Resistance */ Protect: Effect; /** +100% Muscle, +100% Mysticality, +100% Moxie */ Stats: Effect; }; /** * Acquire a buff from the Source Terminal * * @param rolloverBuff The buff to acquire * @see RolloverBuffs * @returns Whether we successfully `enquire`d the terminal for our rollover buff */ export declare function enquiry(rolloverBuff: Effect): boolean; /** * Skills that can be acquired from Enhance */ export declare const Skills: { /** Collect Source essence from enemies once per combat */ Extract: Skill; /** Stagger and create a wandering monster 1-3 times per day */ Digitize: Skill; /** Stagger and deal 25% of enemy HP in damage once per combat */ Compress: Skill; /** Double monster's HP, attack, defence, attacks per round and item drops once per fight and once per day (five in The Source) */ Duplicate: Skill; /** Causes government agent/Source Agent wanderer next turn once per combat and three times per day */ Portscan: Skill; /** Increase Max MP by 100% and recover 1000 MP once per combat with a 30 turn cooldown */ Turbo: Skill; }; /** * Make a skill available. * The Source Terminal can give the player access to two skills at any time * * @param skills Skill or 2-tuple of Skills to learn * @see Skills * @returns Whether our current skills match the ones we asked for */ export declare function educate(skills: Skill | [Skill, Skill]): boolean; /** * @returns The Skills currently available from Source Terminal */ export declare function getSkills(): Skill[]; /** * @param skills A Skill or 2-tuple of Skills to check if we currently have active * @returns Whether the input agrees with our current skills */ export declare function isCurrentSkill(skills: Skill | [Skill, Skill]): boolean; /** * Items that can be generated by the Source Terminal */ export declare const Items: Map; /** * Collect an item from the Source Terminal (up to three times a day) * * @param item Item to collect * @see Items * @returns Whether the `cliExecute` succeeded */ export declare function extrude(item: Item): boolean; type Chip = "INGRAM" | "DIAGRAM" | "ASHRAM" | "SCRAM" | "TRIGRAM" | "CRAM" | "DRAM" | "TRAM"; /** * @returns chips currently installed to player's Source Terminal */ export declare function getChips(): Chip[]; /** * @returns number of times digitize was cast today */ export declare function getDigitizeUses(): number; /** * @returns Monster that is currently digitized, else `null` */ export declare function getDigitizeMonster(): Monster | null; /** * @returns number of digitized monsters encountered since it was last cast */ export declare function getDigitizeMonsterCount(): number; /** * @returns maximum number of digitizes player can cast */ export declare function getMaximumDigitizeUses(): number; /** * @returns the current day's number of remaining digitize uses */ export declare function getDigitizeUsesRemaining(): number; /** * @returns whether the player could theoretically cast Digitize */ export declare function couldDigitize(): boolean; /** * Sets Digitize to be one of our skills if it currently isn't * * @returns Whether we expect that Digitize is one of our active skills now */ export declare function prepareDigitize(): boolean; /** * Determines whether the player can cast Digitize immediately * This only considers whether the player has learned the skill * and has sufficient daily casts remaining, not whether they have sufficient MP * * @returns Whether the player can currently cast digitize, ignoring the MP cost but accounting for other factors */ export declare function canDigitize(): boolean; export declare const Digitize: Copier; /** * @returns number of times duplicate was cast today */ export declare function getDuplicateUses(): number; /** * @returns number of times enhance was cast today */ export declare function getEnhanceUses(): number; /** * @returns number of times portscan was cast today */ export declare function getPortscanUses(): number; /** * @returns maximum number of times duplicate can be used */ export declare function maximumDuplicateUses(): number; /** * @returns number of remaining times duplicate can be used today */ export declare function duplicateUsesRemaining(): number; /** * @returns number of times enhance can be used per day */ export declare function maximumEnhanceUses(): number; /** * @returns number of remaining times enahce can be used today */ export declare function enhanceUsesRemaining(): number; /** * @returns expected duration of an enhance buff */ export declare function enhanceBuffDuration(): number; /** * @returns expected duration of an enquiry buff */ export declare function enquiryBuffDuration(): number; export {};