libram 0.7.11 → 0.7.13

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