libram 0.7.11 → 0.7.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/dist/Clan.d.ts +34 -6
  2. package/dist/Clan.js +33 -6
  3. package/dist/Copier.d.ts +5 -5
  4. package/dist/Dungeon.d.ts +45 -0
  5. package/dist/Dungeon.js +115 -0
  6. package/dist/Kmail.d.ts +8 -5
  7. package/dist/Kmail.js +8 -5
  8. package/dist/actions/ActionSource.d.ts +5 -0
  9. package/dist/actions/ActionSource.js +20 -2
  10. package/dist/actions/FreeKill.d.ts +2 -0
  11. package/dist/actions/FreeKill.js +2 -0
  12. package/dist/actions/FreeRun.d.ts +2 -0
  13. package/dist/actions/FreeRun.js +2 -0
  14. package/dist/ascend.d.ts +20 -4
  15. package/dist/ascend.js +32 -4
  16. package/dist/challengePaths/2015/CommunityService.d.ts +7 -0
  17. package/dist/challengePaths/2015/CommunityService.js +12 -1
  18. package/dist/combat.d.ts +55 -0
  19. package/dist/combat.js +85 -0
  20. package/dist/counter.d.ts +3 -0
  21. package/dist/counter.js +3 -0
  22. package/dist/diet/index.d.ts +2 -0
  23. package/dist/diet/index.js +27 -8
  24. package/dist/diet/knapsack.d.ts +1 -0
  25. package/dist/diet/knapsack.js +11 -3
  26. package/dist/index.d.ts +3 -7
  27. package/dist/index.js +1 -3
  28. package/dist/lib.d.ts +101 -33
  29. package/dist/lib.js +132 -42
  30. package/dist/logger.d.ts +24 -11
  31. package/dist/logger.js +38 -12
  32. package/dist/maximize.d.ts +20 -1
  33. package/dist/maximize.js +30 -3
  34. package/dist/modifier.d.ts +13 -1
  35. package/dist/modifier.js +87 -3
  36. package/dist/mood.d.ts +15 -1
  37. package/dist/mood.js +15 -1
  38. package/dist/property.d.ts +52 -17
  39. package/dist/property.js +64 -7
  40. package/dist/propertyTypes.d.ts +5 -5
  41. package/dist/propertyTypes.js +5 -5
  42. package/dist/propertyTyping.d.ts +54 -0
  43. package/dist/propertyTyping.js +54 -0
  44. package/dist/resources/2008/Stickers.d.ts +28 -0
  45. package/dist/resources/2008/Stickers.js +28 -0
  46. package/dist/resources/2009/Bandersnatch.d.ts +17 -7
  47. package/dist/resources/2009/Bandersnatch.js +17 -7
  48. package/dist/resources/2009/SpookyPutty.d.ts +25 -0
  49. package/dist/resources/2009/SpookyPutty.js +25 -0
  50. package/dist/resources/2010/CrownOfThrones.d.ts +23 -0
  51. package/dist/resources/2010/CrownOfThrones.js +31 -15
  52. package/dist/resources/2010/LookingGlass.d.ts +4 -0
  53. package/dist/resources/2010/LookingGlass.js +5 -0
  54. package/dist/resources/2011/ObtuseAngel.d.ts +8 -6
  55. package/dist/resources/2011/ObtuseAngel.js +8 -6
  56. package/dist/resources/2011/StompingBoots.d.ts +9 -15
  57. package/dist/resources/2011/StompingBoots.js +9 -15
  58. package/dist/resources/2012/RainDoh.d.ts +20 -0
  59. package/dist/resources/2012/RainDoh.js +20 -0
  60. package/dist/resources/2012/ReagnimatedGnome.d.ts +18 -0
  61. package/dist/resources/2012/ReagnimatedGnome.js +18 -0
  62. package/dist/resources/2012/Resolutions.d.ts +2 -2
  63. package/dist/resources/2012/Resolutions.js +2 -2
  64. package/dist/resources/2013/Florist.d.ts +15 -0
  65. package/dist/resources/2013/Florist.js +21 -0
  66. package/dist/resources/2014/CrimboShrub.d.ts +12 -0
  67. package/dist/resources/2014/CrimboShrub.js +22 -1
  68. package/dist/resources/2014/DNALab.d.ts +10 -2
  69. package/dist/resources/2014/DNALab.js +10 -2
  70. package/dist/resources/2014/WinterGarden.d.ts +15 -0
  71. package/dist/resources/2014/WinterGarden.js +15 -0
  72. package/dist/resources/2015/BarrelShrine.d.ts +6 -0
  73. package/dist/resources/2015/BarrelShrine.js +8 -1
  74. package/dist/resources/2015/ChateauMantegna.d.ts +35 -0
  75. package/dist/resources/2015/ChateauMantegna.js +35 -0
  76. package/dist/resources/2015/DeckOfEveryCard.d.ts +23 -1
  77. package/dist/resources/2015/DeckOfEveryCard.js +24 -0
  78. package/dist/resources/2015/Dinseylandfill.d.ts +1 -0
  79. package/dist/resources/2015/Dinseylandfill.js +2 -0
  80. package/dist/resources/2015/MayoClinic.d.ts +8 -1
  81. package/dist/resources/2015/MayoClinic.js +8 -1
  82. package/dist/resources/2016/SourceTerminal.d.ts +42 -21
  83. package/dist/resources/2016/SourceTerminal.js +42 -21
  84. package/dist/resources/2016/Witchess.d.ts +12 -0
  85. package/dist/resources/2016/Witchess.js +12 -0
  86. package/dist/resources/2017/AsdonMartin.d.ts +11 -3
  87. package/dist/resources/2017/AsdonMartin.js +44 -7
  88. package/dist/resources/2017/MummingTrunk.d.ts +1 -0
  89. package/dist/resources/2017/MummingTrunk.js +8 -1
  90. package/dist/resources/2017/Pantogram.d.ts +9 -0
  91. package/dist/resources/2017/Pantogram.js +33 -0
  92. package/dist/resources/2017/Robortender.d.ts +1 -0
  93. package/dist/resources/2017/Robortender.js +1 -0
  94. package/dist/resources/2017/Spacegate.js +1 -0
  95. package/dist/resources/2017/TunnelOfLove.d.ts +19 -0
  96. package/dist/resources/2017/TunnelOfLove.js +37 -0
  97. package/dist/resources/2018/LatteLoversMembersMug.d.ts +388 -0
  98. package/dist/resources/2018/LatteLoversMembersMug.js +294 -4
  99. package/dist/resources/2018/SongBoom.d.ts +9 -4
  100. package/dist/resources/2018/SongBoom.js +9 -4
  101. package/dist/resources/2019/BeachComb.d.ts +38 -1
  102. package/dist/resources/2019/BeachComb.js +39 -2
  103. package/dist/resources/2019/Snapper.d.ts +4 -0
  104. package/dist/resources/2019/Snapper.js +4 -0
  105. package/dist/resources/2020/Cartography.d.ts +13 -0
  106. package/dist/resources/2020/Cartography.js +13 -0
  107. package/dist/resources/2020/Guzzlr.d.ts +89 -23
  108. package/dist/resources/2020/Guzzlr.js +100 -29
  109. package/dist/resources/2020/RetroCape.d.ts +4 -0
  110. package/dist/resources/2020/RetroCape.js +4 -0
  111. package/dist/resources/2021/CrystalBall.d.ts +6 -0
  112. package/dist/resources/2021/CrystalBall.js +13 -1
  113. package/dist/resources/2021/DaylightShavings.d.ts +6 -0
  114. package/dist/resources/2021/DaylightShavings.js +6 -0
  115. package/dist/resources/2022/AutumnAton.d.ts +15 -0
  116. package/dist/resources/2022/AutumnAton.js +21 -0
  117. package/dist/resources/2022/CombatLoversLocket.d.ts +9 -0
  118. package/dist/resources/2022/CombatLoversLocket.js +10 -2
  119. package/dist/resources/2022/GreyGoose.d.ts +46 -0
  120. package/dist/resources/2022/GreyGoose.js +47 -1
  121. package/dist/resources/2022/JuneCleaver.d.ts +20 -0
  122. package/dist/resources/2022/JuneCleaver.js +20 -0
  123. package/dist/resources/2022/TrainSet.d.ts +48 -0
  124. package/dist/resources/2022/TrainSet.js +54 -0
  125. package/dist/resources/2023/ClosedCircuitPayphone.d.ts +75 -0
  126. package/dist/resources/2023/ClosedCircuitPayphone.js +117 -0
  127. package/dist/resources/LibramSummon.d.ts +5 -0
  128. package/dist/resources/LibramSummon.js +5 -0
  129. package/dist/resources/index.d.ts +2 -1
  130. package/dist/resources/index.js +2 -1
  131. package/dist/resources/putty-likes.d.ts +15 -0
  132. package/dist/resources/putty-likes.js +15 -0
  133. package/dist/session.d.ts +12 -0
  134. package/dist/session.js +20 -17
  135. package/dist/since.d.ts +3 -2
  136. package/dist/since.js +4 -2
  137. package/dist/utils.d.ts +90 -6
  138. package/dist/utils.js +108 -0
  139. package/package.json +4 -8
  140. package/dist/dungeons/Dreadsylvania.d.ts +0 -5
  141. package/dist/dungeons/Dreadsylvania.js +0 -14
  142. package/dist/dungeons/Dungeon.d.ts +0 -29
  143. package/dist/dungeons/Dungeon.js +0 -99
  144. package/dist/dungeons/Hobopolis.d.ts +0 -5
  145. package/dist/dungeons/Hobopolis.js +0 -14
  146. package/dist/dungeons/SlimeTube.d.ts +0 -5
  147. package/dist/dungeons/SlimeTube.js +0 -14
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./challengePaths";
5
5
  export * from "./combat";
6
6
  export * as Counter from "./counter";
7
7
  export * from "./diet";
8
+ export * from "./Dungeon";
8
9
  export * from "./lib";
9
10
  export * from "./maximize";
10
11
  export * from "./mood";
@@ -22,6 +23,3 @@ export * from "./utils";
22
23
  export { get, PropertiesManager, set, setProperties, withProperties, withProperty, withChoices, withChoice, } from "./property";
23
24
  export { get as getModifier } from "./modifier";
24
25
  export { Session } from "./session";
25
- export * as Dreadsylvania from "./dungeons/Dreadsylvania";
26
- export * as Hobopolis from "./dungeons/Hobopolis";
27
- export * as SlimeTube from "./dungeons/SlimeTube";
package/dist/lib.d.ts CHANGED
@@ -1,83 +1,93 @@
1
1
  /** @module GeneralLibrary */
2
- import "core-js/modules/es.object.entries";
3
- import "core-js/features/array/flat";
4
2
  import { Effect, Element, Familiar, Item, Location, Monster, Servant, Skill, Stat, Thrall } from "kolmafia";
5
3
  /**
6
- * Returns the current maximum Accordion Thief songs the player can have in their head
4
+ * Determines the current maximum Accordion Thief songs the player can have in their head
7
5
  *
8
6
  * @category General
7
+ * @returns Maximum number of songs for player
9
8
  */
10
9
  export declare function getSongLimit(): number;
11
10
  /**
12
- * Return whether the Skill or Effect provided is an Accordion Thief song
11
+ * Determine whether the Skill or Effect provided is an Accordion Thief song
13
12
  *
14
13
  * @category General
15
14
  * @param skillOrEffect The Skill or Effect
15
+ * @returns Whether it's a song
16
16
  */
17
17
  export declare function isSong(skillOrEffect: Skill | Effect): boolean;
18
18
  /**
19
19
  * List all active Effects
20
20
  *
21
21
  * @category General
22
+ * @returns List of Effects
22
23
  */
23
24
  export declare function getActiveEffects(): Effect[];
24
25
  /**
25
26
  * List currently active Accordion Thief songs
26
27
  *
27
28
  * @category General
29
+ * @returns List of song Effects
28
30
  */
29
31
  export declare function getActiveSongs(): Effect[];
30
32
  /**
31
33
  * List number of active Accordion Thief songs
32
34
  *
33
35
  * @category General
36
+ * @returns Number of songs
34
37
  */
35
38
  export declare function getSongCount(): number;
36
39
  /**
37
- * Returns true if the player can remember another Accordion Thief song
40
+ * Determine whether player can remember another Accordion Thief song
38
41
  *
39
42
  * @category General
40
43
  * @param quantity Number of songs to test the space for
44
+ * @returns Whether player can remember another song
41
45
  */
42
46
  export declare function canRememberSong(quantity?: number): boolean;
43
47
  /**
44
- * Return the locations in which the given monster can be encountered naturally
48
+ * Determine the locations in which the given monster can be encountered naturally
45
49
  *
46
50
  * @category General
47
51
  * @param monster Monster to find
52
+ * @returns Locations for monster
48
53
  */
49
54
  export declare function getMonsterLocations(monster: Monster): Location[];
50
55
  /**
51
- * Return the player's remaining liver space
56
+ * Determine the player's remaining liver space
52
57
  *
53
58
  * @category General
59
+ * @returns Remaining liver space
54
60
  */
55
61
  export declare function getRemainingLiver(): number;
56
62
  /**
57
- * Return the player's remaining stomach space
63
+ * Determine the player's remaining stomach space
58
64
  *
59
65
  * @category General
66
+ * @returns Remaining stomach space
60
67
  */
61
68
  export declare function getRemainingStomach(): number;
62
69
  /**
63
- * Return the player's remaining spleen space
70
+ * Determine the player's remaining spleen space
64
71
  *
65
72
  * @category General
73
+ * @returns Remaining spleen space
66
74
  */
67
75
  export declare function getRemainingSpleen(): number;
68
76
  /**
69
- * Return whether the player "has" any entity which one could feasibly "have".
77
+ * Determine whether the player "has" any entity which one could feasibly "have".
70
78
  *
71
79
  * @category General
72
80
  * @param thing Thing to check
73
- * @param quantity Number to check that the player has
81
+ * @param quantity Minimum quantity the player must have to pass
82
+ * @returns Whether the player meets the requirements of owning the supplied thing
74
83
  */
75
84
  export declare function have(thing: Effect | Familiar | Item | Servant | Skill | Thrall, quantity?: number): boolean;
76
85
  /**
77
- * Return whether an item is in the player's campground
86
+ * Determine whether a given item is in the player's campground
78
87
  *
79
88
  * @category General
80
- * @param item The item mafia uses to represent the campground item
89
+ * @param item The Item KoLmafia uses to represent the campground item
90
+ * @returns Whether the item is in the campground
81
91
  */
82
92
  export declare function haveInCampground(item: Item): boolean;
83
93
  export declare enum Wanderer {
@@ -92,22 +102,29 @@ export declare enum Wanderer {
92
102
  Vote = "Vote Monster"
93
103
  }
94
104
  /**
95
- * Return whether the player has the queried counter
105
+ * Determine whether the player has the specified counter
96
106
  *
107
+ * @param counterName Name of the counter
108
+ * @param minTurns Minimum turns the counter is set to
109
+ * @param maxTurns Maximum turns the counter is set to
97
110
  * @category General
111
+ * @returns Whether player has the counter
98
112
  */
99
113
  export declare function haveCounter(counterName: string, minTurns?: number, maxTurns?: number): boolean;
100
114
  /**
101
- * Return whether the player has the queried wandering counter
115
+ * Determine whether the player has the specified wanderer's counter
102
116
  *
117
+ * @param wanderer Wanderer to check
103
118
  * @category Wanderers
119
+ * @returns Whether player has the wanderer counter
104
120
  */
105
121
  export declare function haveWandererCounter(wanderer: Wanderer): boolean;
106
122
  /**
107
- * Returns whether the player will encounter a vote wanderer on the next turn,
123
+ * Determine whether the player will encounter a vote wanderer on the next turn,
108
124
  * providing an "I Voted!" sticker is equipped.
109
125
  *
110
126
  * @category Wanderers
127
+ * @returns Whether the vote wanderer is due
111
128
  */
112
129
  export declare function isVoteWandererNow(): boolean;
113
130
  /**
@@ -125,17 +142,19 @@ export declare function isVoteWandererNow(): boolean;
125
142
  *
126
143
  * @category Wanderers
127
144
  * @param wanderer Wanderer to check
145
+ * @returns Whether the wanderer is due
128
146
  */
129
147
  export declare function isWandererNow(wanderer: Wanderer): boolean;
130
148
  /**
131
- * Returns the float chance the player will encounter a sausage goblin on the
149
+ * Determines the chance the player will encounter a sausage goblin on the
132
150
  * next turn, providing the Kramco Sausage-o-Matic is equipped.
133
151
  *
134
152
  * @category Wanderers
153
+ * @returns Chance that the sausage goblin is due (as a number between 0 and 1)
135
154
  */
136
155
  export declare function getKramcoWandererChance(): number;
137
156
  /**
138
- * Returns the float chance the player will encounter an Artistic Goth Kid or
157
+ * Determines the chance the player will encounter an Artistic Goth Kid or
139
158
  * Mini-Hipster wanderer on the next turn, providing a familiar is equipped.
140
159
  *
141
160
  * NOTE: You must complete one combat with the Artistic Goth Kid before you
@@ -143,69 +162,79 @@ export declare function getKramcoWandererChance(): number;
143
162
  * Artist Goth Kid is effectively 0% chance to encounter a wanderer.
144
163
  *
145
164
  * @category Wanderers
165
+ * @returns Chance that the familiar wanderer is due (as a number between 0 and 1)
146
166
  */
147
167
  export declare function getFamiliarWandererChance(): number;
148
168
  /**
149
- * Returns the float chance the player will encounter the queried wanderer
169
+ * Determines the chance the player will encounter the specified wanderer
150
170
  * on the next turn.
151
171
  *
152
172
  * @category Wanderers
153
173
  * @param wanderer Wanderer to check
174
+ * @returns Chance that the specified wanderer is due (as a number between 0 and 1)
154
175
  */
155
176
  export declare function getWandererChance(wanderer: Wanderer): number;
156
177
  /**
157
- * Returns true if the player's current familiar is equal to the one supplied
178
+ * Determines whether the player's current familiar is equal to the one supplied
158
179
  *
159
180
  * @category General
160
181
  * @param familiar Familiar to check
182
+ * @returns Whether it is the player's current familiar
161
183
  */
162
184
  export declare function isCurrentFamiliar(familiar: Familiar): boolean;
163
185
  /**
164
- * Returns the fold group (if any) of which the given item is a part
186
+ * Determines the fold group (if any) of which the given item is a part
165
187
  *
166
188
  * @category General
167
189
  * @param item Item that is part of the required fold group
190
+ * @returns List of items in the fold group
168
191
  */
169
192
  export declare function getFoldGroup(item: Item): Item[];
170
193
  /**
171
- * Returns the zap group (if any) of which the given item is a part
194
+ * Determines the zap group (if any) of which the given item is a part
172
195
  *
173
196
  * @category General
174
197
  * @param item Item that is part of the required zap group
198
+ * @returns List of items in the zap group
175
199
  */
176
200
  export declare function getZapGroup(item: Item): Item[];
177
201
  /**
178
202
  * Get a map of banished monsters keyed by what banished them
179
203
  *
180
204
  * @category General
205
+ * @returns Map of banished monsters
181
206
  */
182
207
  export declare function getBanishedMonsters(): Map<Item | Skill, Monster>;
183
208
  /**
184
- * Returns true if the item is usable
209
+ * Determines whether the item is usable
185
210
  *
186
211
  * This function will be an ongoing work in progress
187
212
  *
188
213
  * @param item Item to check
214
+ * @returns Whether item is usable
189
215
  */
190
216
  export declare function canUse(item: Item): boolean;
191
217
  /**
192
218
  * Turn KoLmafia `none`s to JavaScript `null`s
193
219
  *
194
220
  * @param thing Thing that can have a mafia "none" value
221
+ * @returns The thing specified or `null`
195
222
  */
196
223
  export declare function noneToNull<T>(thing: T): T | null;
197
224
  /**
198
- * Return the average value from the sort of range that KoLmafia encodes as a string
225
+ * Determine the average value from the sort of range that KoLmafia encodes as a string
199
226
  *
200
227
  * @param range KoLmafia-style range string
228
+ * @returns Average value fo range
201
229
  */
202
230
  export declare function getAverage(range: string): number;
203
231
  /**
204
- * Return average adventures expected from consuming an item
232
+ * Deternube tge average adventures expected from consuming an Item
205
233
  *
206
234
  * If item is not a consumable, will just return "0".
207
235
  *
208
236
  * @param item Consumable item
237
+ * @returns Average aventures from consumable
209
238
  */
210
239
  export declare function getAverageAdventures(item: Item): number;
211
240
  /**
@@ -213,6 +242,7 @@ export declare function getAverageAdventures(item: Item): number;
213
242
  *
214
243
  * @category General
215
244
  * @param effect Effect to remove
245
+ * @returns Success
216
246
  */
217
247
  export declare function uneffect(effect: Effect): boolean;
218
248
  export declare type Player = {
@@ -227,9 +257,10 @@ export declare type Player = {
227
257
  */
228
258
  export declare function getPlayerFromIdOrName(idOrName: number | string): Player;
229
259
  /**
230
- * Return the step as a number for a given quest property.
260
+ * Determine the step as a number for a given quest property.
231
261
  *
232
262
  * @param questName Name of quest property to check.
263
+ * @returns Quest step
233
264
  */
234
265
  export declare function questStep(questName: string): number;
235
266
  export declare class EnsureError extends Error {
@@ -237,15 +268,17 @@ export declare class EnsureError extends Error {
237
268
  }
238
269
  /**
239
270
  * Tries to get an effect using the default method
271
+ *
240
272
  * @param ef effect to try to get
241
273
  * @param turns turns to aim for; default of 1
242
- *
243
274
  * @throws {EnsureError} Throws an error if the effect cannot be guaranteed
244
275
  */
245
276
  export declare function ensureEffect(ef: Effect, turns?: number): void;
246
277
  /**
247
- * Returns the average value--based on mallprice and autosell--of a collection of items
278
+ * Determiens the average value (based on mallprice and autosell) of a collection of items
279
+ *
248
280
  * @param items items whose value you care about
281
+ * @returns Average value of items
249
282
  */
250
283
  export declare function getSaleValue(...items: Item[]): number;
251
284
  export declare const Environment: {
@@ -256,33 +289,47 @@ export declare const Environment: {
256
289
  };
257
290
  export declare type EnvironmentType = typeof Environment[keyof typeof Environment];
258
291
  /**
259
- * Returns the weight-coefficient of any leprechaunning that this familiar may find itself doing
292
+ * Determines the weight-coefficient of any leprechaunning that this familiar may find itself doing
260
293
  * Assumes the familiar is nude and thus fails for hatrack & pantsrack
261
294
  * For the Mutant Cactus Bud, returns the efficacy-multiplier instead
295
+ *
262
296
  * @param familiar The familiar whose leprechaun multiplier you're interested in
297
+ * @returns Weight-coefficient
263
298
  */
264
299
  export declare function findLeprechaunMultiplier(familiar: Familiar): number;
265
300
  /**
266
- * Returns the weight-coefficient of any baby gravy fairying that this familiar may find itself doing
301
+ * Determines the weight-coefficient of any baby gravy fairying that this familiar may find itself doing
267
302
  * Assumes the familiar is nude and thus fails for hatrack & pantsrack
268
303
  * For the Mutant Fire Ant, returns the efficacy-multiplier instead
304
+ *
269
305
  * @param familiar The familiar whose fairy multiplier you're interested in
306
+ * @returns Weight-coefficient
270
307
  */
271
308
  export declare function findFairyMultiplier(familiar: Familiar): number;
272
309
  export declare const holidayWanderers: Map<string, Monster[]>;
310
+ /**
311
+ * Get today's holiday wanderers
312
+ *
313
+ * @returns List of holiday wanderer Monsters
314
+ */
273
315
  export declare function getTodaysHolidayWanderers(): Monster[];
274
316
  /**
275
- * Determines & returns whether or not we can safely call visitUrl(), based on whether we're in a fight, multi-fight, choice, etc
317
+ * Determines whether or not we can safely call visitUrl(), based on whether we're in a fight, multi-fight, choice, etc
318
+ *
319
+ * @returns Whether urls can be safely visited
276
320
  */
277
321
  export declare function canVisitUrl(): boolean;
278
322
  /**
279
323
  * Calculate damage taken from a specific element after factoring in resistance
280
- * @param baseDamage
281
- * @param element
324
+ *
325
+ * @param baseDamage Base damage
326
+ * @param element Element
282
327
  * @returns damage after factoring in resistances
283
328
  */
284
329
  export declare function damageTakenByElement(baseDamage: number, element: Element): number;
285
330
  /**
331
+ * Get information from telescope
332
+ *
286
333
  * @returns An object with all information the telescope gives you about the sorceress's contests and maze
287
334
  */
288
335
  export declare function telescope(): {
@@ -292,3 +339,24 @@ export declare function telescope(): {
292
339
  hedge2?: Element;
293
340
  hedge3?: Element;
294
341
  };
342
+ /**
343
+ * Visit the desc_x.php page for a given thing
344
+ *
345
+ * @param thing Thing to examine
346
+ * @returns Contents of desc_x.php page
347
+ */
348
+ export declare function examine(thing: Item | Familiar | Effect | Skill): string;
349
+ /**
350
+ * Picks an option based on your primestat
351
+ *
352
+ * @param options An object keyed by stat; it must either contain all stats, or have a `default` parameter.
353
+ * @returns The option corresponding to your primestat.
354
+ */
355
+ export declare const byStat: <S>(options: import("./utils").Switch<import("kolmafia").StatType, S>) => S;
356
+ /**
357
+ * Picks an option based on your player class
358
+ *
359
+ * @param options An object keyed by player class; it must either contain all classes, or have a `default` parameter.
360
+ * @returns The option corresponding to your player class.
361
+ */
362
+ export declare const byClass: <S>(options: import("./utils").Switch<import("kolmafia").ClassType, S>) => S;