@pinta365/blizzard_api 0.3.9 → 0.5.0

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 (423) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +145 -37
  3. package/esm/mod.d.ts +43 -6
  4. package/esm/mod.js +69 -6
  5. package/esm/src/client.d.ts +95 -0
  6. package/esm/src/client.js +52 -0
  7. package/esm/src/diablo3/community/act.d.ts +29 -0
  8. package/esm/src/diablo3/community/act.js +23 -0
  9. package/esm/src/diablo3/community/artisan.d.ts +50 -0
  10. package/esm/src/diablo3/community/artisan.js +25 -0
  11. package/esm/src/diablo3/community/follower.d.ts +25 -0
  12. package/esm/src/diablo3/community/follower.js +12 -0
  13. package/esm/src/diablo3/community/hero.d.ts +57 -0
  14. package/esm/src/diablo3/community/hero.js +25 -0
  15. package/esm/src/diablo3/community/item.d.ts +48 -0
  16. package/esm/src/diablo3/community/item.js +12 -0
  17. package/esm/src/diablo3/community/item_type.d.ts +26 -0
  18. package/esm/src/diablo3/community/item_type.js +23 -0
  19. package/esm/src/diablo3/community/profile.d.ts +352 -0
  20. package/esm/src/diablo3/community/profile.js +61 -0
  21. package/esm/src/diablo3/game_data/d3.d.ts +127 -0
  22. package/esm/src/diablo3/game_data/d3.js +72 -0
  23. package/esm/src/diablo3/index.d.ts +8 -0
  24. package/esm/src/diablo3/index.js +8 -0
  25. package/esm/src/diablo3/types.d.ts +8 -0
  26. package/esm/src/diablo3/types.js +1 -0
  27. package/esm/src/generated/diablo3_api.d.ts +156 -0
  28. package/esm/src/generated/diablo3_api.js +2 -0
  29. package/esm/src/generated/hearthstone_api.d.ts +51 -0
  30. package/esm/src/generated/hearthstone_api.js +2 -0
  31. package/esm/src/generated/sc2_api.d.ts +139 -0
  32. package/esm/src/generated/sc2_api.js +2 -0
  33. package/esm/src/generated/wow_api.d.ts +1482 -0
  34. package/esm/src/generated/wow_api.js +2 -0
  35. package/esm/src/generated/wow_classic_api.d.ts +555 -0
  36. package/esm/src/generated/wow_classic_api.js +2 -0
  37. package/esm/src/generated/wow_classic_era_api.d.ts +418 -0
  38. package/esm/src/generated/wow_classic_era_api.js +2 -0
  39. package/esm/src/hearthstone/game_data/card_backs.d.ts +31 -0
  40. package/esm/src/hearthstone/game_data/card_backs.js +22 -0
  41. package/esm/src/hearthstone/game_data/cards.d.ts +55 -0
  42. package/esm/src/hearthstone/game_data/cards.js +26 -0
  43. package/esm/src/hearthstone/game_data/decks.d.ts +29 -0
  44. package/esm/src/hearthstone/game_data/decks.js +13 -0
  45. package/esm/src/hearthstone/game_data/metadata.d.ts +82 -0
  46. package/esm/src/hearthstone/game_data/metadata.js +11 -0
  47. package/esm/src/hearthstone/index.d.ts +4 -0
  48. package/esm/src/hearthstone/index.js +4 -0
  49. package/esm/src/hearthstone/search.d.ts +21 -0
  50. package/esm/src/hearthstone/search.js +28 -0
  51. package/esm/src/hearthstone/types.d.ts +5 -0
  52. package/esm/src/hearthstone/types.js +1 -0
  53. package/esm/src/shared/bind.d.ts +14 -0
  54. package/esm/src/shared/bind.js +15 -0
  55. package/esm/src/shared/context.d.ts +163 -0
  56. package/esm/src/shared/context.js +304 -0
  57. package/esm/src/shared/errors.d.ts +53 -0
  58. package/esm/src/shared/errors.js +95 -0
  59. package/esm/src/shared/index.d.ts +4 -0
  60. package/esm/src/shared/index.js +2 -0
  61. package/esm/src/shared/types.d.ts +133 -0
  62. package/esm/src/shared/types.js +2 -0
  63. package/esm/src/starcraft2/community/account.d.ts +19 -0
  64. package/esm/src/starcraft2/community/account.js +15 -0
  65. package/esm/src/starcraft2/community/ladder.d.ts +29 -0
  66. package/esm/src/starcraft2/community/ladder.js +27 -0
  67. package/esm/src/starcraft2/community/legacy.d.ts +206 -0
  68. package/esm/src/starcraft2/community/legacy.js +83 -0
  69. package/esm/src/starcraft2/community/profile.d.ts +255 -0
  70. package/esm/src/starcraft2/community/profile.js +73 -0
  71. package/esm/src/starcraft2/game_data/league.d.ts +35 -0
  72. package/esm/src/starcraft2/game_data/league.js +20 -0
  73. package/esm/src/starcraft2/index.d.ts +5 -0
  74. package/esm/src/starcraft2/index.js +5 -0
  75. package/esm/src/starcraft2/types.d.ts +5 -0
  76. package/esm/src/starcraft2/types.js +1 -0
  77. package/esm/src/wow/game_data/achievement.d.ts +87 -0
  78. package/esm/src/wow/game_data/achievement.js +68 -0
  79. package/esm/src/wow/game_data/auction_house.d.ts +65 -0
  80. package/esm/src/wow/game_data/auction_house.js +33 -0
  81. package/esm/src/wow/game_data/azerite_essence.d.ts +50 -0
  82. package/esm/src/wow/game_data/azerite_essence.js +48 -0
  83. package/esm/src/wow/game_data/connected_realm.d.ts +62 -0
  84. package/esm/src/wow/game_data/connected_realm.js +35 -0
  85. package/esm/src/wow/game_data/covenant.d.ts +115 -0
  86. package/esm/src/wow/game_data/covenant.js +88 -0
  87. package/esm/src/wow/game_data/creature.d.ts +98 -0
  88. package/esm/src/wow/game_data/creature.js +99 -0
  89. package/esm/src/wow/game_data/guild_crest.d.ts +56 -0
  90. package/esm/src/wow/game_data/guild_crest.js +38 -0
  91. package/esm/src/wow/game_data/heirloom.d.ts +82 -0
  92. package/esm/src/wow/game_data/heirloom.js +25 -0
  93. package/esm/src/wow/game_data/housing.d.ts +111 -0
  94. package/esm/src/wow/game_data/housing.js +124 -0
  95. package/esm/src/wow/game_data/item.d.ts +183 -0
  96. package/esm/src/wow/game_data/item.js +100 -0
  97. package/esm/src/wow/game_data/item_appearance.d.ts +102 -0
  98. package/esm/src/wow/game_data/item_appearance.js +73 -0
  99. package/esm/src/wow/game_data/journal.d.ts +124 -0
  100. package/esm/src/wow/game_data/journal.js +98 -0
  101. package/esm/src/wow/game_data/keystone_affix.d.ts +39 -0
  102. package/esm/src/wow/game_data/keystone_affix.js +38 -0
  103. package/esm/src/wow/game_data/media_search.d.ts +9 -0
  104. package/esm/src/wow/game_data/media_search.js +10 -0
  105. package/esm/src/wow/game_data/modified_crafting.d.ts +65 -0
  106. package/esm/src/wow/game_data/modified_crafting.js +62 -0
  107. package/esm/src/wow/game_data/mount.d.ts +38 -0
  108. package/esm/src/wow/game_data/mount.js +35 -0
  109. package/esm/src/wow/game_data/mythic_keystone_dungeon.d.ts +92 -0
  110. package/esm/src/wow/game_data/mythic_keystone_dungeon.js +87 -0
  111. package/esm/src/wow/game_data/mythic_keystone_leaderboard.d.ts +70 -0
  112. package/esm/src/wow/game_data/mythic_keystone_leaderboard.js +28 -0
  113. package/esm/src/wow/game_data/mythic_raid_leaderboard.d.ts +36 -0
  114. package/esm/src/wow/game_data/mythic_raid_leaderboard.js +14 -0
  115. package/esm/src/wow/game_data/neighborhood.d.ts +36 -0
  116. package/esm/src/wow/game_data/neighborhood.js +38 -0
  117. package/esm/src/wow/game_data/pet.d.ts +93 -0
  118. package/esm/src/wow/game_data/pet.js +76 -0
  119. package/esm/src/wow/game_data/playable_class.d.ts +58 -0
  120. package/esm/src/wow/game_data/playable_class.js +51 -0
  121. package/esm/src/wow/game_data/playable_race.d.ts +31 -0
  122. package/esm/src/wow/game_data/playable_race.js +25 -0
  123. package/esm/src/wow/game_data/playable_specialization.d.ts +63 -0
  124. package/esm/src/wow/game_data/playable_specialization.js +38 -0
  125. package/esm/src/wow/game_data/power_type.d.ts +22 -0
  126. package/esm/src/wow/game_data/power_type.js +25 -0
  127. package/esm/src/wow/game_data/profession.d.ts +88 -0
  128. package/esm/src/wow/game_data/profession.js +78 -0
  129. package/esm/src/wow/game_data/pvp_season.d.ts +108 -0
  130. package/esm/src/wow/game_data/pvp_season.js +66 -0
  131. package/esm/src/wow/game_data/pvp_tier.d.ts +41 -0
  132. package/esm/src/wow/game_data/pvp_tier.js +38 -0
  133. package/esm/src/wow/game_data/quest.d.ts +116 -0
  134. package/esm/src/wow/game_data/quest.js +100 -0
  135. package/esm/src/wow/game_data/realm.d.ts +43 -0
  136. package/esm/src/wow/game_data/realm.js +35 -0
  137. package/esm/src/wow/game_data/region.d.ts +26 -0
  138. package/esm/src/wow/game_data/region.js +25 -0
  139. package/esm/src/wow/game_data/reputations.d.ts +57 -0
  140. package/esm/src/wow/game_data/reputations.js +50 -0
  141. package/esm/src/wow/game_data/spell.d.ts +34 -0
  142. package/esm/src/wow/game_data/spell.js +36 -0
  143. package/esm/src/wow/game_data/talent.d.ts +143 -0
  144. package/esm/src/wow/game_data/talent.js +89 -0
  145. package/esm/src/wow/game_data/tech_talent.d.ts +72 -0
  146. package/esm/src/wow/game_data/tech_talent.js +63 -0
  147. package/esm/src/wow/game_data/title.d.ts +33 -0
  148. package/esm/src/wow/game_data/title.js +25 -0
  149. package/esm/src/wow/game_data/token.d.ts +17 -0
  150. package/esm/src/wow/game_data/token.js +18 -0
  151. package/esm/src/wow/game_data/toy.d.ts +25 -0
  152. package/esm/src/wow/game_data/toy.js +25 -0
  153. package/esm/src/wow/index.d.ts +59 -0
  154. package/esm/src/wow/index.js +61 -0
  155. package/esm/src/wow/profile/account_profile.d.ts +185 -0
  156. package/esm/src/wow/profile/account_profile.js +132 -0
  157. package/esm/src/wow/profile/character_achievements.d.ts +88 -0
  158. package/esm/src/wow/profile/character_achievements.js +28 -0
  159. package/esm/src/wow/profile/character_appearance.d.ts +79 -0
  160. package/esm/src/wow/profile/character_appearance.js +14 -0
  161. package/esm/src/wow/profile/character_collections.d.ts +132 -0
  162. package/esm/src/wow/profile/character_collections.js +98 -0
  163. package/esm/src/wow/profile/character_encounters.d.ts +78 -0
  164. package/esm/src/wow/profile/character_encounters.js +42 -0
  165. package/esm/src/wow/profile/character_equipment.d.ts +177 -0
  166. package/esm/src/wow/profile/character_equipment.js +14 -0
  167. package/esm/src/wow/profile/character_house.d.ts +16 -0
  168. package/esm/src/wow/profile/character_house.js +17 -0
  169. package/esm/src/wow/profile/character_hunter_pets.d.ts +22 -0
  170. package/esm/src/wow/profile/character_hunter_pets.js +14 -0
  171. package/esm/src/wow/profile/character_media.d.ts +14 -0
  172. package/esm/src/wow/profile/character_media.js +14 -0
  173. package/esm/src/wow/profile/character_mythic_keystone_profile.d.ts +70 -0
  174. package/esm/src/wow/profile/character_mythic_keystone_profile.js +31 -0
  175. package/esm/src/wow/profile/character_professions.d.ts +29 -0
  176. package/esm/src/wow/profile/character_professions.js +14 -0
  177. package/esm/src/wow/profile/character_profile.d.ts +83 -0
  178. package/esm/src/wow/profile/character_profile.js +39 -0
  179. package/esm/src/wow/profile/character_pvp.d.ts +53 -0
  180. package/esm/src/wow/profile/character_pvp.js +29 -0
  181. package/esm/src/wow/profile/character_quests.d.ts +29 -0
  182. package/esm/src/wow/profile/character_quests.js +28 -0
  183. package/esm/src/wow/profile/character_reputations.d.ts +30 -0
  184. package/esm/src/wow/profile/character_reputations.js +14 -0
  185. package/esm/src/wow/profile/character_soulbinds.d.ts +31 -0
  186. package/esm/src/wow/profile/character_soulbinds.js +14 -0
  187. package/esm/src/wow/profile/character_specializations.d.ts +82 -0
  188. package/esm/src/wow/profile/character_specializations.js +14 -0
  189. package/esm/src/wow/profile/character_statistics.d.ts +104 -0
  190. package/esm/src/wow/profile/character_statistics.js +14 -0
  191. package/esm/src/wow/profile/character_titles.d.ts +14 -0
  192. package/esm/src/wow/profile/character_titles.js +14 -0
  193. package/esm/src/wow/profile/guild.d.ts +150 -0
  194. package/esm/src/wow/profile/guild.js +56 -0
  195. package/esm/src/wow/search.d.ts +23 -0
  196. package/esm/src/wow/search.js +29 -0
  197. package/esm/src/wow/types.d.ts +58 -0
  198. package/esm/src/wow/types.js +1 -0
  199. package/esm/src/wow_classic/auction_house.d.ts +41 -0
  200. package/esm/src/wow_classic/auction_house.js +31 -0
  201. package/esm/src/wow_classic/character_specializations.d.ts +45 -0
  202. package/esm/src/wow_classic/character_specializations.js +18 -0
  203. package/esm/src/wow_classic/era.d.ts +8 -0
  204. package/esm/src/wow_classic/era.js +10 -0
  205. package/esm/src/wow_classic/index.d.ts +15 -0
  206. package/esm/src/wow_classic/index.js +17 -0
  207. package/esm/src/wow_classic/profile_overrides.d.ts +125 -0
  208. package/esm/src/wow_classic/profile_overrides.js +111 -0
  209. package/esm/src/wow_classic/shared.d.ts +23 -0
  210. package/esm/src/wow_classic/shared.js +26 -0
  211. package/esm/src/wow_classic/types.d.ts +3 -0
  212. package/esm/src/wow_classic/types.js +1 -0
  213. package/package.json +23 -2
  214. package/script/mod.d.ts +43 -6
  215. package/script/mod.js +91 -21
  216. package/script/src/client.d.ts +95 -0
  217. package/script/src/client.js +89 -0
  218. package/script/src/diablo3/community/act.d.ts +29 -0
  219. package/script/src/diablo3/community/act.js +27 -0
  220. package/script/src/diablo3/community/artisan.d.ts +50 -0
  221. package/script/src/diablo3/community/artisan.js +29 -0
  222. package/script/src/diablo3/community/follower.d.ts +25 -0
  223. package/script/src/diablo3/community/follower.js +15 -0
  224. package/script/src/diablo3/community/hero.d.ts +57 -0
  225. package/script/src/diablo3/community/hero.js +29 -0
  226. package/script/src/diablo3/community/item.d.ts +48 -0
  227. package/script/src/diablo3/community/item.js +15 -0
  228. package/script/src/diablo3/community/item_type.d.ts +26 -0
  229. package/script/src/diablo3/community/item_type.js +27 -0
  230. package/script/src/diablo3/community/profile.d.ts +352 -0
  231. package/script/src/diablo3/community/profile.js +67 -0
  232. package/script/src/diablo3/game_data/d3.d.ts +127 -0
  233. package/script/src/diablo3/game_data/d3.js +80 -0
  234. package/script/src/diablo3/index.d.ts +8 -0
  235. package/script/src/diablo3/index.js +31 -0
  236. package/script/src/diablo3/types.d.ts +8 -0
  237. package/script/src/diablo3/types.js +2 -0
  238. package/script/src/generated/diablo3_api.d.ts +156 -0
  239. package/script/src/generated/diablo3_api.js +3 -0
  240. package/script/src/generated/hearthstone_api.d.ts +51 -0
  241. package/script/src/generated/hearthstone_api.js +3 -0
  242. package/script/src/generated/sc2_api.d.ts +139 -0
  243. package/script/src/generated/sc2_api.js +3 -0
  244. package/script/src/generated/wow_api.d.ts +1482 -0
  245. package/script/src/generated/wow_api.js +3 -0
  246. package/script/src/generated/wow_classic_api.d.ts +555 -0
  247. package/script/src/generated/wow_classic_api.js +3 -0
  248. package/script/src/generated/wow_classic_era_api.d.ts +418 -0
  249. package/script/src/generated/wow_classic_era_api.js +3 -0
  250. package/script/src/hearthstone/game_data/card_backs.d.ts +31 -0
  251. package/script/src/hearthstone/game_data/card_backs.js +26 -0
  252. package/script/src/hearthstone/game_data/cards.d.ts +55 -0
  253. package/script/src/hearthstone/game_data/cards.js +30 -0
  254. package/script/src/hearthstone/game_data/decks.d.ts +29 -0
  255. package/script/src/hearthstone/game_data/decks.js +16 -0
  256. package/script/src/hearthstone/game_data/metadata.d.ts +82 -0
  257. package/script/src/hearthstone/game_data/metadata.js +14 -0
  258. package/script/src/hearthstone/index.d.ts +4 -0
  259. package/script/src/hearthstone/index.js +13 -0
  260. package/script/src/hearthstone/search.d.ts +21 -0
  261. package/script/src/hearthstone/search.js +31 -0
  262. package/script/src/hearthstone/types.d.ts +5 -0
  263. package/script/src/hearthstone/types.js +2 -0
  264. package/script/src/shared/bind.d.ts +14 -0
  265. package/script/src/shared/bind.js +18 -0
  266. package/script/src/shared/context.d.ts +163 -0
  267. package/script/src/shared/context.js +312 -0
  268. package/script/src/shared/errors.d.ts +53 -0
  269. package/script/src/shared/errors.js +104 -0
  270. package/script/src/shared/index.d.ts +4 -0
  271. package/script/src/shared/index.js +10 -0
  272. package/script/src/shared/types.d.ts +133 -0
  273. package/script/src/shared/types.js +3 -0
  274. package/script/src/starcraft2/community/account.d.ts +19 -0
  275. package/script/src/starcraft2/community/account.js +18 -0
  276. package/script/src/starcraft2/community/ladder.d.ts +29 -0
  277. package/script/src/starcraft2/community/ladder.js +31 -0
  278. package/script/src/starcraft2/community/legacy.d.ts +206 -0
  279. package/script/src/starcraft2/community/legacy.js +91 -0
  280. package/script/src/starcraft2/community/profile.d.ts +255 -0
  281. package/script/src/starcraft2/community/profile.js +80 -0
  282. package/script/src/starcraft2/game_data/league.d.ts +35 -0
  283. package/script/src/starcraft2/game_data/league.js +23 -0
  284. package/script/src/starcraft2/index.d.ts +5 -0
  285. package/script/src/starcraft2/index.js +23 -0
  286. package/script/src/starcraft2/types.d.ts +5 -0
  287. package/script/src/starcraft2/types.js +2 -0
  288. package/script/src/wow/game_data/achievement.d.ts +87 -0
  289. package/script/src/wow/game_data/achievement.js +75 -0
  290. package/script/src/wow/game_data/auction_house.d.ts +65 -0
  291. package/script/src/wow/game_data/auction_house.js +37 -0
  292. package/script/src/wow/game_data/azerite_essence.d.ts +50 -0
  293. package/script/src/wow/game_data/azerite_essence.js +54 -0
  294. package/script/src/wow/game_data/connected_realm.d.ts +62 -0
  295. package/script/src/wow/game_data/connected_realm.js +40 -0
  296. package/script/src/wow/game_data/covenant.d.ts +115 -0
  297. package/script/src/wow/game_data/covenant.js +97 -0
  298. package/script/src/wow/game_data/creature.d.ts +98 -0
  299. package/script/src/wow/game_data/creature.js +109 -0
  300. package/script/src/wow/game_data/guild_crest.d.ts +56 -0
  301. package/script/src/wow/game_data/guild_crest.js +43 -0
  302. package/script/src/wow/game_data/heirloom.d.ts +82 -0
  303. package/script/src/wow/game_data/heirloom.js +29 -0
  304. package/script/src/wow/game_data/housing.d.ts +111 -0
  305. package/script/src/wow/game_data/housing.js +138 -0
  306. package/script/src/wow/game_data/item.d.ts +183 -0
  307. package/script/src/wow/game_data/item.js +110 -0
  308. package/script/src/wow/game_data/item_appearance.d.ts +102 -0
  309. package/script/src/wow/game_data/item_appearance.js +81 -0
  310. package/script/src/wow/game_data/journal.d.ts +124 -0
  311. package/script/src/wow/game_data/journal.js +108 -0
  312. package/script/src/wow/game_data/keystone_affix.d.ts +39 -0
  313. package/script/src/wow/game_data/keystone_affix.js +43 -0
  314. package/script/src/wow/game_data/media_search.d.ts +9 -0
  315. package/script/src/wow/game_data/media_search.js +13 -0
  316. package/script/src/wow/game_data/modified_crafting.d.ts +65 -0
  317. package/script/src/wow/game_data/modified_crafting.js +69 -0
  318. package/script/src/wow/game_data/mount.d.ts +38 -0
  319. package/script/src/wow/game_data/mount.js +40 -0
  320. package/script/src/wow/game_data/mythic_keystone_dungeon.d.ts +92 -0
  321. package/script/src/wow/game_data/mythic_keystone_dungeon.js +96 -0
  322. package/script/src/wow/game_data/mythic_keystone_leaderboard.d.ts +70 -0
  323. package/script/src/wow/game_data/mythic_keystone_leaderboard.js +32 -0
  324. package/script/src/wow/game_data/mythic_raid_leaderboard.d.ts +36 -0
  325. package/script/src/wow/game_data/mythic_raid_leaderboard.js +17 -0
  326. package/script/src/wow/game_data/neighborhood.d.ts +36 -0
  327. package/script/src/wow/game_data/neighborhood.js +43 -0
  328. package/script/src/wow/game_data/pet.d.ts +93 -0
  329. package/script/src/wow/game_data/pet.js +84 -0
  330. package/script/src/wow/game_data/playable_class.d.ts +58 -0
  331. package/script/src/wow/game_data/playable_class.js +57 -0
  332. package/script/src/wow/game_data/playable_race.d.ts +31 -0
  333. package/script/src/wow/game_data/playable_race.js +29 -0
  334. package/script/src/wow/game_data/playable_specialization.d.ts +63 -0
  335. package/script/src/wow/game_data/playable_specialization.js +43 -0
  336. package/script/src/wow/game_data/power_type.d.ts +22 -0
  337. package/script/src/wow/game_data/power_type.js +29 -0
  338. package/script/src/wow/game_data/profession.d.ts +88 -0
  339. package/script/src/wow/game_data/profession.js +86 -0
  340. package/script/src/wow/game_data/pvp_season.d.ts +108 -0
  341. package/script/src/wow/game_data/pvp_season.js +73 -0
  342. package/script/src/wow/game_data/pvp_tier.d.ts +41 -0
  343. package/script/src/wow/game_data/pvp_tier.js +43 -0
  344. package/script/src/wow/game_data/quest.d.ts +116 -0
  345. package/script/src/wow/game_data/quest.js +110 -0
  346. package/script/src/wow/game_data/realm.d.ts +43 -0
  347. package/script/src/wow/game_data/realm.js +40 -0
  348. package/script/src/wow/game_data/region.d.ts +26 -0
  349. package/script/src/wow/game_data/region.js +29 -0
  350. package/script/src/wow/game_data/reputations.d.ts +57 -0
  351. package/script/src/wow/game_data/reputations.js +56 -0
  352. package/script/src/wow/game_data/spell.d.ts +34 -0
  353. package/script/src/wow/game_data/spell.js +41 -0
  354. package/script/src/wow/game_data/talent.d.ts +143 -0
  355. package/script/src/wow/game_data/talent.js +98 -0
  356. package/script/src/wow/game_data/tech_talent.d.ts +72 -0
  357. package/script/src/wow/game_data/tech_talent.js +70 -0
  358. package/script/src/wow/game_data/title.d.ts +33 -0
  359. package/script/src/wow/game_data/title.js +29 -0
  360. package/script/src/wow/game_data/token.d.ts +17 -0
  361. package/script/src/wow/game_data/token.js +21 -0
  362. package/script/src/wow/game_data/toy.d.ts +25 -0
  363. package/script/src/wow/game_data/toy.js +29 -0
  364. package/script/src/wow/index.d.ts +59 -0
  365. package/script/src/wow/index.js +272 -0
  366. package/script/src/wow/profile/account_profile.d.ts +185 -0
  367. package/script/src/wow/profile/account_profile.js +143 -0
  368. package/script/src/wow/profile/character_achievements.d.ts +88 -0
  369. package/script/src/wow/profile/character_achievements.js +32 -0
  370. package/script/src/wow/profile/character_appearance.d.ts +79 -0
  371. package/script/src/wow/profile/character_appearance.js +17 -0
  372. package/script/src/wow/profile/character_collections.d.ts +132 -0
  373. package/script/src/wow/profile/character_collections.js +107 -0
  374. package/script/src/wow/profile/character_encounters.d.ts +78 -0
  375. package/script/src/wow/profile/character_encounters.js +47 -0
  376. package/script/src/wow/profile/character_equipment.d.ts +177 -0
  377. package/script/src/wow/profile/character_equipment.js +17 -0
  378. package/script/src/wow/profile/character_house.d.ts +16 -0
  379. package/script/src/wow/profile/character_house.js +20 -0
  380. package/script/src/wow/profile/character_hunter_pets.d.ts +22 -0
  381. package/script/src/wow/profile/character_hunter_pets.js +17 -0
  382. package/script/src/wow/profile/character_media.d.ts +14 -0
  383. package/script/src/wow/profile/character_media.js +17 -0
  384. package/script/src/wow/profile/character_mythic_keystone_profile.d.ts +70 -0
  385. package/script/src/wow/profile/character_mythic_keystone_profile.js +35 -0
  386. package/script/src/wow/profile/character_professions.d.ts +29 -0
  387. package/script/src/wow/profile/character_professions.js +17 -0
  388. package/script/src/wow/profile/character_profile.d.ts +83 -0
  389. package/script/src/wow/profile/character_profile.js +43 -0
  390. package/script/src/wow/profile/character_pvp.d.ts +53 -0
  391. package/script/src/wow/profile/character_pvp.js +33 -0
  392. package/script/src/wow/profile/character_quests.d.ts +29 -0
  393. package/script/src/wow/profile/character_quests.js +32 -0
  394. package/script/src/wow/profile/character_reputations.d.ts +30 -0
  395. package/script/src/wow/profile/character_reputations.js +17 -0
  396. package/script/src/wow/profile/character_soulbinds.d.ts +31 -0
  397. package/script/src/wow/profile/character_soulbinds.js +17 -0
  398. package/script/src/wow/profile/character_specializations.d.ts +82 -0
  399. package/script/src/wow/profile/character_specializations.js +17 -0
  400. package/script/src/wow/profile/character_statistics.d.ts +104 -0
  401. package/script/src/wow/profile/character_statistics.js +17 -0
  402. package/script/src/wow/profile/character_titles.d.ts +14 -0
  403. package/script/src/wow/profile/character_titles.js +17 -0
  404. package/script/src/wow/profile/guild.d.ts +150 -0
  405. package/script/src/wow/profile/guild.js +62 -0
  406. package/script/src/wow/search.d.ts +23 -0
  407. package/script/src/wow/search.js +32 -0
  408. package/script/src/wow/types.d.ts +58 -0
  409. package/script/src/wow/types.js +2 -0
  410. package/script/src/wow_classic/auction_house.d.ts +41 -0
  411. package/script/src/wow_classic/auction_house.js +35 -0
  412. package/script/src/wow_classic/character_specializations.d.ts +45 -0
  413. package/script/src/wow_classic/character_specializations.js +21 -0
  414. package/script/src/wow_classic/era.d.ts +8 -0
  415. package/script/src/wow_classic/era.js +30 -0
  416. package/script/src/wow_classic/index.d.ts +15 -0
  417. package/script/src/wow_classic/index.js +55 -0
  418. package/script/src/wow_classic/profile_overrides.d.ts +125 -0
  419. package/script/src/wow_classic/profile_overrides.js +123 -0
  420. package/script/src/wow_classic/shared.d.ts +23 -0
  421. package/script/src/wow_classic/shared.js +81 -0
  422. package/script/src/wow_classic/types.d.ts +3 -0
  423. package/script/src/wow_classic/types.js +2 -0
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Returns an index of collection types for a character.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing details about collection types for a character.
7
+ */
8
+ export async function characterCollectionTypes(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections`,
12
+ namespace: "profile",
13
+ });
14
+ }
15
+ /**
16
+ * Returns a summary of the mounts a character has obtained.
17
+ *
18
+ * @param realmSlug - The slug of the realm.
19
+ * @param characterName - The lowercase name of the character.
20
+ * @returns A promise that resolves to an object representing details about mounts a character has obtained.
21
+ */
22
+ export async function characterCollectionMounts(ctx, realmSlug, characterName) {
23
+ return await ctx.request({
24
+ method: "GET",
25
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/mounts`,
26
+ namespace: "profile",
27
+ });
28
+ }
29
+ /**
30
+ * Returns a summary of the pets a character has obtained.
31
+ *
32
+ * @param realmSlug - The slug of the realm.
33
+ * @param characterName - The lowercase name of the character.
34
+ * @returns A promise that resolves to an object representing details about pets a character has obtained.
35
+ */
36
+ export async function characterCollectionPets(ctx, realmSlug, characterName) {
37
+ return await ctx.request({
38
+ method: "GET",
39
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/pets`,
40
+ namespace: "profile",
41
+ });
42
+ }
43
+ /**
44
+ * Returns a summary of the toys a character has obtained.
45
+ *
46
+ * @param realmSlug - The slug of the realm.
47
+ * @param characterName - The lowercase name of the character.
48
+ * @returns A promise that resolves to an object representing details about toys a character has obtained.
49
+ */
50
+ export async function characterCollectionToys(ctx, realmSlug, characterName) {
51
+ return await ctx.request({
52
+ method: "GET",
53
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/toys`,
54
+ namespace: "profile",
55
+ });
56
+ }
57
+ /**
58
+ * Returns a summary of the heirlooms a character has obtained.
59
+ *
60
+ * @param realmSlug - The slug of the realm.
61
+ * @param characterName - The lowercase name of the character.
62
+ * @returns A promise that resolves to an object representing details about heirlooms a character has obtained.
63
+ */
64
+ export async function characterCollectionHeirlooms(ctx, realmSlug, characterName) {
65
+ return await ctx.request({
66
+ method: "GET",
67
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/heirlooms`,
68
+ namespace: "profile",
69
+ });
70
+ }
71
+ /**
72
+ * Returns a summary of the housing decor collection a character has obtained.
73
+ *
74
+ * @param realmSlug - The slug of the realm.
75
+ * @param characterName - The lowercase name of the character.
76
+ * @returns A promise that resolves to an object representing details about decor a character has collected.
77
+ */
78
+ export async function characterCollectionDecor(ctx, realmSlug, characterName) {
79
+ return await ctx.request({
80
+ method: "GET",
81
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/decor`,
82
+ namespace: "profile",
83
+ });
84
+ }
85
+ /**
86
+ * Returns a summary of the transmog appearances a character has obtained.
87
+ *
88
+ * @param realmSlug - The slug of the realm.
89
+ * @param characterName - The lowercase name of the character.
90
+ * @returns A promise that resolves to an object representing details about transmog appearances a character has collected.
91
+ */
92
+ export async function characterCollectionTransmogs(ctx, realmSlug, characterName) {
93
+ return await ctx.request({
94
+ method: "GET",
95
+ url: `/profile/wow/character/${realmSlug}/${characterName}/collections/transmogs`,
96
+ namespace: "profile",
97
+ });
98
+ }
@@ -0,0 +1,78 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Character, KeyNameId, LinkSelfHref, TypeName } from "../../shared/index.js";
3
+ export interface CharacterEncounters extends LinkSelfHref {
4
+ character: Character;
5
+ dungeons: {
6
+ href: string;
7
+ };
8
+ raids: {
9
+ href: string;
10
+ };
11
+ }
12
+ export interface CharacterEncounterDungeons extends LinkSelfHref {
13
+ expansions: {
14
+ expansion: KeyNameId;
15
+ instances: {
16
+ instance: KeyNameId;
17
+ modes: {
18
+ difficulty: Partial<TypeName>;
19
+ status: TypeName;
20
+ progress: {
21
+ completed_count: number;
22
+ total_count: number;
23
+ encounters: {
24
+ encounter: KeyNameId;
25
+ completed_count: number;
26
+ last_kill_timestamp: number;
27
+ }[];
28
+ };
29
+ }[];
30
+ }[];
31
+ }[];
32
+ }
33
+ export interface CharacterEncounterRaids extends LinkSelfHref {
34
+ character: Character;
35
+ expansions: {
36
+ expansion: KeyNameId;
37
+ instances: {
38
+ instance: KeyNameId;
39
+ modes: {
40
+ difficulty: TypeName;
41
+ status: TypeName;
42
+ progress: {
43
+ completed_count: number;
44
+ total_count: number;
45
+ encounters: {
46
+ encounter: KeyNameId;
47
+ completed_count: number;
48
+ last_kill_timestamp: number;
49
+ }[];
50
+ };
51
+ }[];
52
+ }[];
53
+ }[];
54
+ }
55
+ /**
56
+ * Returns a summary of a character's encounters.
57
+ *
58
+ * @param realmSlug - The slug of the realm.
59
+ * @param characterName - The lowercase name of the character.
60
+ * @returns A promise that resolves to an object representing details about character's encounters.
61
+ */
62
+ export declare function characterEncounters(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterEncounters>;
63
+ /**
64
+ * Returns a summary of a character's completed dungeons.
65
+ *
66
+ * @param realmSlug - The slug of the realm.
67
+ * @param characterName - The lowercase name of the character.
68
+ * @returns A promise that resolves to an object representing details about character's completed dungeons.
69
+ */
70
+ export declare function characterEncounterDungeons(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterEncounterDungeons>;
71
+ /**
72
+ * Returns a summary of a character's completed raids.
73
+ *
74
+ * @param realmSlug - The slug of the realm.
75
+ * @param characterName - The lowercase name of the character.
76
+ * @returns A promise that resolves to an object representing details about character's completed raids.
77
+ */
78
+ export declare function characterEncounterRaids(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterEncounterRaids>;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Returns a summary of a character's encounters.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing details about character's encounters.
7
+ */
8
+ export async function characterEncounters(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/encounters`,
12
+ namespace: "profile",
13
+ });
14
+ }
15
+ /**
16
+ * Returns a summary of a character's completed dungeons.
17
+ *
18
+ * @param realmSlug - The slug of the realm.
19
+ * @param characterName - The lowercase name of the character.
20
+ * @returns A promise that resolves to an object representing details about character's completed dungeons.
21
+ */
22
+ export async function characterEncounterDungeons(ctx, realmSlug, characterName) {
23
+ return await ctx.request({
24
+ method: "GET",
25
+ url: `/profile/wow/character/${realmSlug}/${characterName}/encounters/dungeons`,
26
+ namespace: "profile",
27
+ });
28
+ }
29
+ /**
30
+ * Returns a summary of a character's completed raids.
31
+ *
32
+ * @param realmSlug - The slug of the realm.
33
+ * @param characterName - The lowercase name of the character.
34
+ * @returns A promise that resolves to an object representing details about character's completed raids.
35
+ */
36
+ export async function characterEncounterRaids(ctx, realmSlug, characterName) {
37
+ return await ctx.request({
38
+ method: "GET",
39
+ url: `/profile/wow/character/${realmSlug}/${characterName}/encounters/raids`,
40
+ namespace: "profile",
41
+ });
42
+ }
@@ -0,0 +1,177 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Character, KeyId, KeyNameId, LinkSelfHref, LocalizedString, TypeName } from "../../shared/index.js";
3
+ export interface Rgba {
4
+ r: number;
5
+ g: number;
6
+ b: number;
7
+ a: number;
8
+ }
9
+ export interface EquippedItemWeapon {
10
+ damage: {
11
+ min_value: number;
12
+ max_value: number;
13
+ display_string: LocalizedString;
14
+ damage_class: TypeName;
15
+ };
16
+ attack_speed: {
17
+ value: number;
18
+ display_string: LocalizedString;
19
+ };
20
+ dps: {
21
+ value: number;
22
+ display_string: LocalizedString;
23
+ };
24
+ }
25
+ export interface characterEquipments extends LinkSelfHref {
26
+ character: Character;
27
+ equipped_items: {
28
+ item: KeyId;
29
+ description?: LocalizedString;
30
+ limit_category?: string | null;
31
+ modified_crafting_stat?: {
32
+ id: number;
33
+ type: string;
34
+ name: string;
35
+ }[];
36
+ shield_block?: {
37
+ value: number;
38
+ display: {
39
+ display_string: LocalizedString;
40
+ color: Rgba;
41
+ };
42
+ };
43
+ unique_equipped?: string | null;
44
+ weapon?: EquippedItemWeapon;
45
+ sockets?: {
46
+ socket_type: TypeName;
47
+ item: KeyNameId;
48
+ display_string: LocalizedString;
49
+ media: KeyId;
50
+ }[];
51
+ enchantments?: {
52
+ display_string?: LocalizedString;
53
+ source_item?: KeyNameId;
54
+ enchantment_id: number;
55
+ enchantment_slot: {
56
+ id: number;
57
+ type?: string;
58
+ };
59
+ }[];
60
+ slot: TypeName;
61
+ quantity: number;
62
+ context?: number;
63
+ bonus_list?: number[];
64
+ quality: TypeName;
65
+ name: LocalizedString;
66
+ modified_appearance_id?: number;
67
+ media: KeyId;
68
+ item_class: KeyNameId;
69
+ item_subclass: KeyNameId;
70
+ inventory_type: TypeName;
71
+ binding?: TypeName | null;
72
+ armor?: {
73
+ value: number;
74
+ display: {
75
+ display_string: LocalizedString;
76
+ color: Rgba;
77
+ };
78
+ };
79
+ stats?: {
80
+ type: TypeName;
81
+ value: number;
82
+ is_negated?: boolean;
83
+ is_equip_bonus?: boolean;
84
+ display: {
85
+ display_string: LocalizedString;
86
+ color: Rgba;
87
+ };
88
+ }[];
89
+ spells?: {
90
+ spell: KeyNameId;
91
+ description: LocalizedString;
92
+ display_color?: Rgba;
93
+ }[];
94
+ sell_price?: {
95
+ value: number;
96
+ display_strings: {
97
+ header: LocalizedString;
98
+ gold: string;
99
+ silver: string;
100
+ copper: string;
101
+ };
102
+ };
103
+ requirements?: {
104
+ level: {
105
+ value: number;
106
+ display_string: LocalizedString;
107
+ };
108
+ playable_classes?: {
109
+ links: KeyNameId[];
110
+ display_string: LocalizedString;
111
+ };
112
+ faction?: {
113
+ value: TypeName;
114
+ display_string: LocalizedString;
115
+ };
116
+ reputation?: {
117
+ faction: KeyNameId;
118
+ min_reputation_level: number;
119
+ display_string: LocalizedString;
120
+ };
121
+ };
122
+ set?: {
123
+ item_set: KeyNameId;
124
+ items: {
125
+ item: KeyNameId;
126
+ is_equipped?: boolean;
127
+ }[];
128
+ effects: {
129
+ display_string: LocalizedString;
130
+ required_count: number;
131
+ is_active?: boolean;
132
+ }[];
133
+ display_string: LocalizedString;
134
+ };
135
+ level?: {
136
+ value: number;
137
+ display_string: LocalizedString;
138
+ };
139
+ transmog?: {
140
+ item: KeyNameId;
141
+ display_string: LocalizedString;
142
+ item_modified_appearance_id: number;
143
+ second_item?: KeyNameId;
144
+ second_item_modified_appearance_id?: number;
145
+ };
146
+ durability?: {
147
+ value: number;
148
+ display_string: LocalizedString;
149
+ };
150
+ is_subclass_hidden?: boolean;
151
+ name_description?: {
152
+ display_string: LocalizedString;
153
+ color: Rgba;
154
+ };
155
+ }[];
156
+ equipped_item_sets?: {
157
+ item_set?: KeyNameId;
158
+ items?: {
159
+ item: KeyNameId;
160
+ is_equipped?: boolean;
161
+ }[];
162
+ effects?: {
163
+ display_string: LocalizedString;
164
+ required_count: number;
165
+ is_active?: boolean;
166
+ }[];
167
+ display_string?: LocalizedString;
168
+ }[];
169
+ }
170
+ /**
171
+ * Returns a summary of the items equipped by a character.
172
+ *
173
+ * @param realmSlug - The slug of the realm.
174
+ * @param characterName - The lowercase name of the character.
175
+ * @returns A promise that resolves to an object representing details about items equipped by a character.
176
+ */
177
+ export declare function characterEquipments(ctx: ApiContext, realmSlug: string, characterName: string): Promise<characterEquipments>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns a summary of the items equipped by a character.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing details about items equipped by a character.
7
+ */
8
+ export async function characterEquipments(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/equipment`,
12
+ namespace: "profile",
13
+ });
14
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This module provides the API function for fetching a character's house summary using the Blizzard API.
3
+ */
4
+ import type { ApiContext } from "../../shared/index.js";
5
+ import type { LinkSelfHref } from "../../shared/index.js";
6
+ export interface CharacterHouse extends LinkSelfHref {
7
+ id?: number;
8
+ }
9
+ /**
10
+ * Returns a summary of a house a character has built.
11
+ *
12
+ * @param realmSlug - The slug of the realm.
13
+ * @param characterName - The lowercase name of the character.
14
+ * @param houseNumber - The number of the character's house (e.g. 1 for house-1).
15
+ */
16
+ export declare function characterHouse(ctx: ApiContext, realmSlug: string, characterName: string, houseNumber: number): Promise<CharacterHouse>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This module provides the API function for fetching a character's house summary using the Blizzard API.
3
+ */
4
+ /**
5
+ * Returns a summary of a house a character has built.
6
+ *
7
+ * @param realmSlug - The slug of the realm.
8
+ * @param characterName - The lowercase name of the character.
9
+ * @param houseNumber - The number of the character's house (e.g. 1 for house-1).
10
+ */
11
+ export async function characterHouse(ctx, realmSlug, characterName, houseNumber) {
12
+ return await ctx.request({
13
+ method: "GET",
14
+ url: `/profile/wow/character/${realmSlug}/${characterName}/house/house-${houseNumber}`,
15
+ namespace: "profile",
16
+ });
17
+ }
@@ -0,0 +1,22 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Character, KeyId, KeyNameId, LinkSelfHref, LocalizedString } from "../../shared/index.js";
3
+ export interface CharacterHunterPets extends LinkSelfHref {
4
+ character: Character;
5
+ hunter_pets: {
6
+ name: LocalizedString;
7
+ level: number;
8
+ creature: KeyNameId;
9
+ slot: number;
10
+ is_active?: boolean;
11
+ is_summoned?: boolean;
12
+ creature_display: KeyId;
13
+ }[];
14
+ }
15
+ /**
16
+ * If the character is a hunter, returns a summary of the character's hunter pets. Otherwise, returns an HTTP 404 Not Found error.
17
+ *
18
+ * @param realmSlug - The slug of the realm.
19
+ * @param characterName - The lowercase name of the character.
20
+ * @returns A promise that resolves to an object representing a summary of the character's hunter pets.
21
+ */
22
+ export declare function characterHunterPets(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterHunterPets>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * If the character is a hunter, returns a summary of the character's hunter pets. Otherwise, returns an HTTP 404 Not Found error.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing a summary of the character's hunter pets.
7
+ */
8
+ export async function characterHunterPets(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/hunter-pets`,
12
+ namespace: "profile",
13
+ });
14
+ }
@@ -0,0 +1,14 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Asset, Character, LinkSelfHref } from "../../shared/index.js";
3
+ export interface CharacterMedia extends LinkSelfHref {
4
+ character: Character;
5
+ assets: Asset[];
6
+ }
7
+ /**
8
+ * Returns a summary of the media assets available for a character (such as an avatar render).
9
+ *
10
+ * @param realmSlug - The slug of the realm.
11
+ * @param characterName - The lowercase name of the character.
12
+ * @returns A promise that resolves to an object representing a summary of the media assets available for a character.
13
+ */
14
+ export declare function characterMedia(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterMedia>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns a summary of the media assets available for a character (such as an avatar render).
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing a summary of the media assets available for a character.
7
+ */
8
+ export async function characterMedia(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/character-media`,
12
+ namespace: "profile",
13
+ });
14
+ }
@@ -0,0 +1,70 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Character, Href, KeyId, KeyNameId, LinkSelfHref } from "../../shared/index.js";
3
+ export interface MythicRating {
4
+ color: {
5
+ r: number;
6
+ g: number;
7
+ b: number;
8
+ a: number;
9
+ };
10
+ rating: number;
11
+ }
12
+ export interface MythicKeystoneMemberCharacter {
13
+ name: string;
14
+ id: number;
15
+ realm: {
16
+ key: Href;
17
+ id: number;
18
+ slug: string;
19
+ };
20
+ }
21
+ export interface MythicKeystoneBestRun {
22
+ completed_timestamp: number;
23
+ duration: number;
24
+ keystone_level: number;
25
+ keystone_affixes: KeyNameId[];
26
+ members: {
27
+ character: MythicKeystoneMemberCharacter;
28
+ specialization: KeyNameId;
29
+ race: KeyNameId;
30
+ equipped_item_level: number;
31
+ }[];
32
+ dungeon: KeyNameId;
33
+ is_completed_within_time: boolean;
34
+ mythic_rating: MythicRating;
35
+ map_rating: MythicRating;
36
+ }
37
+ export interface CharacterMythicKeystoneProfile extends LinkSelfHref {
38
+ current_period: {
39
+ period: KeyId;
40
+ best_runs?: MythicKeystoneBestRun[];
41
+ };
42
+ seasons: KeyId[];
43
+ character: Character;
44
+ current_mythic_rating: MythicRating;
45
+ }
46
+ export interface CharacterMythicKeystoneSeasonDetails extends LinkSelfHref {
47
+ season: KeyId;
48
+ best_runs: MythicKeystoneBestRun[];
49
+ character: Character;
50
+ mythic_rating: MythicRating;
51
+ }
52
+ /**
53
+ * Returns the Mythic Keystone profile index for a character.
54
+ *
55
+ * @param realmSlug - The slug of the realm.
56
+ * @param characterName - The lowercase name of the character.
57
+ * @returns A promise that resolves to an object representing a Mythic Keystone profile.
58
+ */
59
+ export declare function characterMythicKeystoneProfile(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterMythicKeystoneProfile>;
60
+ /**
61
+ * Returns the Mythic Keystone season details for a character.
62
+ *
63
+ * Returns a 404 Not Found for characters that have not yet completed a Mythic Keystone dungeon for the specified season.
64
+ *
65
+ * @param realmSlug - The slug of the realm.
66
+ * @param characterName - The lowercase name of the character.
67
+ * @param seasonId - The lowercase name of the character.
68
+ * @returns A promise that resolves to an object representing a Mythic Keystone season details.
69
+ */
70
+ export declare function characterMythicKeystoneSeasonDetails(ctx: ApiContext, realmSlug: string, characterName: string, seasonId: number): Promise<CharacterMythicKeystoneSeasonDetails>;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Returns the Mythic Keystone profile index for a character.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing a Mythic Keystone profile.
7
+ */
8
+ export async function characterMythicKeystoneProfile(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/mythic-keystone-profile`,
12
+ namespace: "profile",
13
+ });
14
+ }
15
+ /**
16
+ * Returns the Mythic Keystone season details for a character.
17
+ *
18
+ * Returns a 404 Not Found for characters that have not yet completed a Mythic Keystone dungeon for the specified season.
19
+ *
20
+ * @param realmSlug - The slug of the realm.
21
+ * @param characterName - The lowercase name of the character.
22
+ * @param seasonId - The lowercase name of the character.
23
+ * @returns A promise that resolves to an object representing a Mythic Keystone season details.
24
+ */
25
+ export async function characterMythicKeystoneSeasonDetails(ctx, realmSlug, characterName, seasonId) {
26
+ return await ctx.request({
27
+ method: "GET",
28
+ url: `/profile/wow/character/${realmSlug}/${characterName}/mythic-keystone-profile/season/${seasonId}`,
29
+ namespace: "profile",
30
+ });
31
+ }
@@ -0,0 +1,29 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { Character, KeyNameId, LinkSelfHref, NameId } from "../../shared/index.js";
3
+ export interface Tier {
4
+ skill_points: number;
5
+ max_skill_points: number;
6
+ tier: NameId;
7
+ known_recipes?: KeyNameId[];
8
+ }
9
+ export interface CharacterProfession {
10
+ profession: KeyNameId;
11
+ skill_points?: number;
12
+ max_skill_points?: number;
13
+ tiers?: Tier[];
14
+ }
15
+ export interface CharacterProfessions extends LinkSelfHref {
16
+ character: Character;
17
+ /** Absent when the character has no primary professions. */
18
+ primaries?: CharacterProfession[];
19
+ /** Absent when the character has no secondary professions. */
20
+ secondaries?: CharacterProfession[];
21
+ }
22
+ /**
23
+ * Returns a summary of professions for a character.
24
+ *
25
+ * @param realmSlug - The slug of the realm.
26
+ * @param characterName - The lowercase name of the character.
27
+ * @returns A promise that resolves to an object representing a summary of professions for a character.
28
+ */
29
+ export declare function characterProfessions(ctx: ApiContext, realmSlug: string, characterName: string): Promise<CharacterProfessions>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns a summary of professions for a character.
3
+ *
4
+ * @param realmSlug - The slug of the realm.
5
+ * @param characterName - The lowercase name of the character.
6
+ * @returns A promise that resolves to an object representing a summary of professions for a character.
7
+ */
8
+ export async function characterProfessions(ctx, realmSlug, characterName) {
9
+ return await ctx.request({
10
+ method: "GET",
11
+ url: `/profile/wow/character/${realmSlug}/${characterName}/professions`,
12
+ namespace: "profile",
13
+ });
14
+ }