import { Skill, Class, Item, Path, MafiaClass } from "kolmafia"; import { MoonSign } from "./moonSign.js"; import { ChateauMantegna } from "./resources/index.js"; export declare enum Lifestyle { casual = 1, softcore = 2, normal = 2, hardcore = 3 } export declare enum KolGender { male = 1, female = 2 } /** * Get a mapping of permed skills to the extent to which they're permed. * * If a skill is not permed at all, it will not appear in the mapping. * * @returns Permed skills mapping */ export declare function permedSkills(): Map; export declare class AscendError extends Error { } declare const gardens: readonly ["packet of pumpkin seeds", "Peppermint Pip Packet", "packet of dragon's teeth", "packet of beer seeds", "packet of winter seeds", "packet of thanksgarden seeds", "packet of tall grass seeds", "packet of mushroom spores", "packet of rock seeds"]; type Garden = (typeof gardens)[number]; declare const eudorae: readonly ["My Own Pen Pal kit", "GameInformPowerDailyPro subscription card", "Xi Receiver Unit", "New-You Club Membership Form", "Our Daily Candles™ order form", "Black and White Apron Enrollment Form"]; type Eudora = (typeof eudorae)[number]; export declare class AscensionPrepError extends Error { cause: string; constructor(cause: string, original?: MafiaClass | string); } type InputMoonSign = number | Lowercase | "degrassi" | "degrassi knoll" | "friendly degrassi knoll" | "knoll" | "canada" | "canadia" | "little canadia" | "gnomads" | "gnomish" | "gnomish gnomads camp"; /** * Hops the gash, perming no skills by default * * @param options Configuration for the ascension * @param options.path Your path of choice for this ascension * @param options.playerClass Your class of choice for this ascension * @param options.lifestyle 1 for casual, 2 for softcore, 3 for hardcore. Alternately, use the Lifestyle enum * @param options.kolGender An entry from the KolGender enum: 1 for male, 2 for female (sorry that it's limited to those). Defaults to 2 or the corresponding value for defaultGenderOverride pref (which should be 'male' or 'female') * @param options.moon Your moon sign as a string, or the zone you're looking for as a string * @param options.consumable From the astral deli. Pick the container item, not the product. Defaults to astral six-pack, provide $item`none` for nothing. * @param options.pet From the astral pet store. * @param options.permOptions Options for perming during a player's stay in Valhalla * @param options.permOptions.permSkills A Map of skills you'd like to perm, ordered by priority. * @param options.permOptions.neverAbort Whether the ascension should abort on failure */ export declare function ascend(options: { path: Path; playerClass: Class; lifestyle: Lifestyle; kolGender?: KolGender; moon: InputMoonSign; consumable?: Item; pet?: Item; permOptions?: { permSkills: Map; neverAbort: boolean; }; }): void; /** * Sets up various iotms you may want to use in the coming ascension * * @param ascensionPrep Configuration for various ascension prep settings. Any ommitted key will be kept as-is * @param ascensionPrep.garden Garden to which to switch * @param ascensionPrep.eudora Eudora to which to switch * @param ascensionPrep.chateau Chateau configuration * @param ascensionPrep.chateau.desk Chateau desk configuration * @param ascensionPrep.chateau.ceiling Chateau ceiling configuration * @param ascensionPrep.chateau.nightstand Chateau nightstand configuration * @param ascensionPrep.throwOnFail If true, this will throw an error when it fails to switch something */ export declare function prepareAscension({ garden, eudora, chateau, throwOnFail, }?: { garden?: Garden; eudora?: Eudora; chateau?: { desk?: ChateauMantegna.Desk; ceiling?: ChateauMantegna.Ceiling; nightstand?: ChateauMantegna.Nightstand; }; throwOnFail?: boolean; }): void; export {};