import { Effect, Item } from "kolmafia"; type RawDietEntry = [MenuItem[], number]; type RawDiet = RawDietEntry[]; type MenuItemOptions = Partial<{ organ: Organ; size: number; maximum: number | "auto"; additionalValue: number; effect: Effect; priceOverride: number; mayo: Item; data: T; useRetrievePrice: boolean; }>; export declare class MenuItem { item: Item; organ?: Organ; size: number; maximum?: number; additionalValue?: number; effect?: Effect; priceOverride?: number; mayo?: Item; data?: T; private priceCached?; private itemTypeCached?; static defaultPriceFunction: (item: Item) => number; static defaultOptions(): Map>; /** * Construct a new menu item, possibly with extra properties. Items in MenuItem.defaultOptions have intelligent defaults. * * @param item Item to add to menu. * @param options Options for this menu item * @param options.organ Designate item as belonging to a specific organ. * @param options.size Override item organ size. Necessary for any non-food/booze/spleen item. * @param options.maximum Maximum uses remaining today, or "auto" to check dailyusesleft Mafia property. * @param options.additionalValue Additional value (positive) or cost (negative) to consider with item, e.g. from buffs. * @param options.effect Effect associated with this menu item (pocket wish effect, sweet synthesis effect, pill keeper potion extension) * @param options.mayo Which mayo to use before item (ignored if mayo clinic is not installed or item is not a food) * @param options.note Any note to track information about item, to be used later */ constructor(item: Item, options?: MenuItemOptions); equals(other: MenuItem): boolean; toString(): string; price(): number; itemType(): string; } declare const organs: readonly ["food", "booze", "spleen item"]; type Organ = (typeof organs)[number]; declare class DietEntry { quantity: number; menuItems: readonly MenuItem[]; constructor(menuItems: MenuItem[], quantity: number); target(): MenuItem; helpers(): MenuItem[]; expectedAdventures(diet: Diet): number; expectedValue(mpa: number, diet: Diet, method?: "gross" | "net"): number; expectedPrice(): number; } interface OrganCapacity { food?: number | "auto"; booze?: number | "auto"; spleen?: number | "auto"; } /** * A representation of a potential diet */ export declare class Diet { entries: DietEntry[]; constructor(entries?: DietEntry[]); get refinedPalate(): boolean; get garish(): boolean; get saucemaven(): boolean; get tuxedoShirt(): boolean; get pinkyRing(): boolean; expectedAdventures(): number; expectedValue(mpa: number, method?: "gross" | "net"): number; expectedPrice(): number; copy(): Diet; static from(rawDiet: RawDiet): Diet; static plan(mpa: number, menu: MenuItem[], organCapacities?: OrganCapacity): Diet; } export {};