import { Item, Location, Effect, Monster } from "kolmafia"; /** * @returns Whether or not we currently `have` the cursed monkey's paw */ export declare function have(): boolean; /** * @returns The number of monkey paw wishes we have remaining */ export declare function wishes(): number; export type WishableItemsFilters = Partial<{ location: (location: Location) => boolean; monster: (monster: Monster) => boolean; drop: (itemDrop: { drop: Item; rate: number; type: string; }) => boolean; }>; /** * @param filters An optional object optionally consisting of filtering functions to shrink down the pool of wishable items * @param filters.location A filtering function to remove locations from the pool of wishable targets. * @param filters.monster A filtering function to remove monsters from the pool of wishable targets. * @param filters.drop A filtering function to remove item drops from the pool of wishable targets. * @returns A set of all items we expect to be able to wish; this doesn't actually constitute all items */ export declare function wishableItems(filters?: WishableItemsFilters): Set; /** * @returns An Array consisting of all genie-wishable Effects that are not Monkey-wishable */ export declare function getUnwishableEffects(): Effect[]; /** * Decides if we expect that a given Item or Effect can be wished for. * May be slow for Effects; * * @param wish The Item or Effect in question * @returns Whether we expect it can be wished for */ export declare function isWishable(wish: Effect | Item): boolean; /** * Wish for a given Item or Effect. * If it's an item, will `prepareForAdventure`; if an item is available in multiple locations this will pick the first one. * * @param wish The Item or Effect to wish for * @returns Whether we succeeded in this endeavor */ export declare function wishFor(wish: Effect | Item): boolean;