From 39fb1e5becf2753b4561feb15a1cf95be91d4d0d Mon Sep 17 00:00:00 2001
From: Jeroen Claassens <support@favware.tech>
Date: Thu, 30 Dec 2021 14:43:48 +0100
Subject: [PATCH] refactor: switch to json based docs

- feat: start setting up the plugin for parsing
- feat: start parsing classes
- feat: update framework json
- fix: fixed rendering custom files with css
- chore: update framework json to exclude externals
- feat: setup parsing sapphire classes and do a lot of link fixing
- refactor: switch to sapphire result
- fix: remove replaceall for Node 14 compat
- fix: actually remove replaceAll
- fix: fixed css extraction regex
- I thought I did this already
- fix: fixed broken link on welcome page
- chore: temporarily disable reporting broken links
- feat: much stuff
- change `classes` to `class` to match DJS
- add `typedef` and `namespace` linking
- fix linking of non-generic types
- update guide urls to match `class` change
- chore: bump deps
- chore: cleanup types
- feat: add variant to typedefs
- build: make it easier to debug
- fix: partially fix link extraction
- feat(docgen): add renderTypedef()
   - Moved parseSee() from /lib/renderer/renderClass.ts to /lib/renderer/utils.ts
   - Add /lib/renderer/renderTypedef.ts
     Which adds basic functionality in the website with things like title, description and extendedDescription
- chore: sort ts interfaces in docgen output
- chore: update doc types
- refactor: completely refactor how links are resolved
- fix: fixed links for `{@link` tags and propegate change to mdn and djs
- fix: use `replace` instead of `replaceAll`
- feat(docusaurus-discordjs-docgen): add functionality for enum and interface
- style(docusaurus-discordjs-docgen): use Array#flat() for typedef
- feat(docusaurus-discordjs-docgen): add constructor table functionality for classes
- feat(docusaurus-discordjs-docgen): align table content to center
- feat(docusaurus-discordjs-docgen): remove description column if all falsy
- feat(docusaurus-discordjs-docgen): add properties functionality for classes
- ci: add automatic vercel deploys workflow
- chore(docusaurus-typedoc-json-parser): initial commit
- chore(docusaurus-typedoc-json-parser): add doc fetching
- chore(docusaurus-typedoc-json-parser): add sidebar rendering
- fix(deps): update all non-major dependencies
- fix(deps): update dependency typedoc-json-parser to ^5.2.0
- feat(docusaurus-typedoc-json-parser): add basic renderers
- style(docusaurus-typedoc-json-parser): curly brackets and spacing
- style(docusaurus-typedoc-json-parser): template literals
- feat(docusaurus-typedoc-json-parser): add class extends and implements
- feat(docusaurus-typedoc-json-parser): add link parsing for the local project
- chore(docusaurus-typedoc-json-parser): add `start` script to bypass debugger
- feat(docusaurus-typedoc-json-parser): add comment info for classes
- chore: update dev deps
- chore: regen and dedupe lockfile
- fix(docusaurus-typedoc-json-parser): absorb breaking changes and add versioning
- refactor: switch to using typedoc-json-parser plugin
- chore: add `update` script
- fix(deps): update dependency typedoc-json-parser to ^6.0.2
- fix(docusaurus-typedoc-json-parser): proper category yamls
- feat(docusaurus-typedoc-json-parser): first steps to proper type linking
- refactor(docusaurus-typedoc-json-parser): switch from constant to variable
- feat(docusaurus-typedoc-json-parser): render classes
- ci: use tags for actions
---
 .github/workflows/automatic-vercel-deploy.yml |    16 +
 .github/workflows/codeql-analysis.yml         |     8 +-
 .github/workflows/continuous-integration.yml  |    12 +-
 .github/workflows/labelsync.yml               |     4 +-
 .github/workflows/update-submodules.yml       |    48 -
 .gitignore                                    |     5 +-
 .gitmodules                                   |    24 -
 .vscode/launch.json                           |    17 +
 data/framework.json                           | 44646 ++++++++++++++++
 docs/General/Welcome.mdx                      |     2 +-
 ...uiring-an-application-command-registry.mdx |     4 +-
 ...ting-application-commands-to-a-command.mdx |    12 +-
 ...ing-global-behavior-when-not-identical.mdx |     2 +-
 .../registering-chat-input-commands.mdx       |    24 +-
 .../registering-context-commands.mdx          |    10 +-
 .../what-is-it.mdx                            |     2 +-
 .../interaction-handlers/autocomplete.mdx     |     4 +-
 .../message-components.mdx                    |     6 +-
 docs/Guide/arguments/built-in-arguments.mdx   |     2 +-
 docs/Guide/arguments/using-arguments.mdx      |     6 +-
 docs/Guide/arguments/using-flags.mdx          |     4 +-
 docs/Guide/arguments/using-options.mdx        |     8 +-
 .../creating-a-basic-command.mdx              |     6 +-
 .../getting-started-with-sapphire.mdx         |     4 +-
 .../updating-from-v2-to-v3.mdx                |    55 +-
 docs/Guide/plugins/API/rate-limiting.mdx      |     2 +-
 .../plugins/Logger/configuring-loglevel.mdx   |     2 +-
 .../Guide/plugins/i18next/getting-started.mdx |    32 +-
 docs/Guide/preconditions/channel-types.mdx    |     4 +-
 docs/Guide/preconditions/command-cooldown.mdx |    18 +-
 .../creating-your-own-preconditions.mdx       |    18 +-
 .../preconditions/handling-permissions.mdx    |     4 +-
 .../reporting-precondition-failure.mdx        |     8 +-
 docs/Guide/utilities/time-utilities.mdx       |     5 +-
 docusaurus-discordjs-docgen/package.json      |    25 +
 docusaurus-discordjs-docgen/scripts/debug.mjs |    70 +
 docusaurus-discordjs-docgen/src/index.ts      |    50 +
 .../externals/discordjs/resolveClasses.ts     |   149 +
 .../externals/discordjs/resolveTypedefs.ts    |   270 +
 .../externals/mdn/THIRD_PARTY_LICENSE         |    19 +
 .../lib/renderer/externals/mdn/resolveCss.ts  |    70 +
 .../lib/renderer/externals/mdn/resolveDom.ts  |   255 +
 .../renderer/externals/mdn/resolveGlobals.ts  |   121 +
 .../src/lib/renderer/externals/parsers.ts     |   177 +
 .../externals/sapphire/resolveClasses.ts      |    19 +
 .../sapphire/resolveExternalPackage.ts        |     9 +
 .../externals/sapphire/resolveNamespaces.ts   |    19 +
 .../externals/sapphire/resolveTypeDefs.ts     |    19 +
 .../src/lib/renderer/render.ts                |    19 +
 .../src/lib/renderer/renderClass.ts           |   127 +
 .../src/lib/renderer/renderCustomFile.ts      |    51 +
 .../src/lib/renderer/renderTypedef.ts         |   114 +
 .../renderer/transformPlainCssToReactCss.ts   |    82 +
 .../src/lib/renderer/utils.ts                 |    43 +
 .../src/lib/renderer/writeCategoryYaml.ts     |    19 +
 .../src/lib/types/css.d.ts                    |    75 +
 .../src/lib/types/docgen-output.ts            |   247 +
 .../src/lib/types/types.ts                    |    13 +
 .../src/lib/utils/logger.ts                   |     3 +
 .../src/lib/utils/options.ts                  |    27 +
 .../src/lib/utils/pluginContainer.ts          |     8 +
 docusaurus-discordjs-docgen/tsconfig.json     |    10 +
 docusaurus-typedoc-json-parser/package.json   |    30 +
 .../scripts/debug.mjs                         |    65 +
 docusaurus-typedoc-json-parser/src/index.ts   |   117 +
 .../src/renderer/render.ts                    |    78 +
 .../src/renderer/renderClass.ts               |   167 +
 .../src/renderer/renderEnum.ts                |    34 +
 .../src/renderer/renderFunction.ts            |    34 +
 .../src/renderer/renderInterface.ts           |    34 +
 .../src/renderer/renderNamespace.ts           |    34 +
 .../src/renderer/renderTypeAlias.ts           |    34 +
 .../src/renderer/renderVariable.ts            |    34 +
 .../src/renderer/utilities/ensureDirectory.ts |     5 +
 .../src/renderer/utilities/parseExamples.ts   |     7 +
 .../src/renderer/utilities/parseParameters.ts |    16 +
 .../src/renderer/utilities/parseSee.ts        |     7 +
 .../renderer/utilities/parseTypeParameters.ts |    12 +
 .../src/renderer/utilities/removeDirectory.ts |    21 +
 .../src/renderer/writeCategoryYaml.ts         |    15 +
 .../src/types/PluginOptions.ts                |     5 +
 .../src/types/RepositoryContent.ts            |    15 +
 docusaurus-typedoc-json-parser/tsconfig.json  |    10 +
 docusaurus.config.js                          |   138 +-
 package.json                                  |    33 +-
 projects/framework                            |     1 -
 projects/pieces                               |     1 -
 projects/plugins                              |     1 -
 projects/shapeshift                           |     1 -
 projects/type                                 |     1 -
 projects/utilities                            |     1 -
 scripts/make-djs-node-14-compatible.mjs       |    28 -
 temporary-errors-log-of-broken-links.md       |    77 +
 tsconfig.eslint.json                          |    14 +-
 yarn.lock                                     |  3716 +-
 95 files changed, 48013 insertions(+), 3907 deletions(-)
 create mode 100644 .github/workflows/automatic-vercel-deploy.yml
 delete mode 100644 .github/workflows/update-submodules.yml
 delete mode 100644 .gitmodules
 create mode 100644 .vscode/launch.json
 create mode 100644 data/framework.json
 create mode 100644 docusaurus-discordjs-docgen/package.json
 create mode 100644 docusaurus-discordjs-docgen/scripts/debug.mjs
 create mode 100644 docusaurus-discordjs-docgen/src/index.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveClasses.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveTypedefs.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/THIRD_PARTY_LICENSE
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveCss.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveDom.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveGlobals.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/parsers.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveClasses.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveExternalPackage.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveNamespaces.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveTypeDefs.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/render.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/renderClass.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/renderCustomFile.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/renderTypedef.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/transformPlainCssToReactCss.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/utils.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/renderer/writeCategoryYaml.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/types/css.d.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/types/docgen-output.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/types/types.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/utils/logger.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/utils/options.ts
 create mode 100644 docusaurus-discordjs-docgen/src/lib/utils/pluginContainer.ts
 create mode 100644 docusaurus-discordjs-docgen/tsconfig.json
 create mode 100644 docusaurus-typedoc-json-parser/package.json
 create mode 100644 docusaurus-typedoc-json-parser/scripts/debug.mjs
 create mode 100644 docusaurus-typedoc-json-parser/src/index.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/render.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderClass.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderEnum.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderFunction.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderInterface.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderNamespace.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderTypeAlias.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/renderVariable.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/ensureDirectory.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/parseExamples.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/parseParameters.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/parseSee.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/parseTypeParameters.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/utilities/removeDirectory.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/renderer/writeCategoryYaml.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/types/PluginOptions.ts
 create mode 100644 docusaurus-typedoc-json-parser/src/types/RepositoryContent.ts
 create mode 100644 docusaurus-typedoc-json-parser/tsconfig.json
 delete mode 160000 projects/framework
 delete mode 160000 projects/pieces
 delete mode 160000 projects/plugins
 delete mode 160000 projects/shapeshift
 delete mode 160000 projects/type
 delete mode 160000 projects/utilities
 delete mode 100644 scripts/make-djs-node-14-compatible.mjs
 create mode 100644 temporary-errors-log-of-broken-links.md

diff --git a/.github/workflows/automatic-vercel-deploy.yml b/.github/workflows/automatic-vercel-deploy.yml
new file mode 100644
index 00000000..4f71d45f
--- /dev/null
+++ b/.github/workflows/automatic-vercel-deploy.yml
@@ -0,0 +1,16 @@
+name: Automatic Vercel Deploys
+
+on:
+  # TODO: Enable pre-merge
+  # schedule:
+  #   - cron: '30 3 * * *'
+  workflow_dispatch:
+
+jobs:
+  AutomaticVercelDeploy:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Trigger Vercel Deploy
+        run: curl -X POST ${VERCEL_DEPLOY_HOOK_URL}
+        env:
+          VERCEL_DEPLOY_HOOK_URL: ${{ secrets.VERCEL_DEPLOY_HOOK_URL }}
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index f141be03..9edbb71a 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -16,13 +16,13 @@ jobs:
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
+        uses: actions/checkout@v3
 
       - name: Initialize CodeQL
-        uses: github/codeql-action/init@807578363a7869ca324a79039e6db9c843e0e100 # tag=v2
+        uses: github/codeql-action/init@v2
 
       - name: Autobuild
-        uses: github/codeql-action/autobuild@807578363a7869ca324a79039e6db9c843e0e100 # tag=v2
+        uses: github/codeql-action/autobuild@v2
 
       - name: Perform CodeQL Analysis
-        uses: github/codeql-action/analyze@807578363a7869ca324a79039e6db9c843e0e100 # tag=v2
+        uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml
index 867505e0..13872800 100644
--- a/.github/workflows/continuous-integration.yml
+++ b/.github/workflows/continuous-integration.yml
@@ -12,13 +12,13 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout Project
-        uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
+        uses: actions/checkout@v3
         with:
           submodules: true
       - name: Add problem matcher
         run: echo "::add-matcher::.github/problemMatchers/eslint.json"
       - name: Use Node.js v16
-        uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
+        uses: actions/setup-node@v3
         with:
           node-version: 16
           cache: yarn
@@ -33,13 +33,13 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout Project
-        uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
+        uses: actions/checkout@v3
         with:
           submodules: true
       - name: Add problem matcher
         run: echo "::add-matcher::.github/problemMatchers/eslint.json"
       - name: Use Node.js v16
-        uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
+        uses: actions/setup-node@v3
         with:
           node-version: 16
           cache: yarn
@@ -54,11 +54,11 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout Project
-        uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
+        uses: actions/checkout@v3
         with:
           submodules: true
       - name: Use Node.js v16
-        uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
+        uses: actions/setup-node@v3
         with:
           node-version: 16
           cache: yarn
diff --git a/.github/workflows/labelsync.yml b/.github/workflows/labelsync.yml
index f2cfd4d2..be4617e1 100644
--- a/.github/workflows/labelsync.yml
+++ b/.github/workflows/labelsync.yml
@@ -11,11 +11,11 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout Project
-        uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
+        uses: actions/checkout@v3
         with:
           repository: 'sapphiredev/readme'
       - name: Run Label Sync
-        uses: crazy-max/ghaction-github-labeler@77450f9fa47c41fbab15c0923417fff00730ffa3 # tag=v4
+        uses: crazy-max/ghaction-github-labeler@v4
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
           yaml-file: .github/labels.yml
diff --git a/.github/workflows/update-submodules.yml b/.github/workflows/update-submodules.yml
deleted file mode 100644
index 39738d52..00000000
--- a/.github/workflows/update-submodules.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-name: Update Git Submodules
-
-on:
-  schedule:
-    - cron: '30 3 * * *'
-  workflow_dispatch:
-
-jobs:
-  SubmoduleSync:
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Update any submodules
-        run: |
-          REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
-
-          echo -e "\n# Checkout the repo in the target branch"
-          TARGET_BRANCH="main"
-          git clone --recurse-submodules -j8 -b $TARGET_BRANCH $REPO sapphiredev-website
-
-          echo -e "\n# Moving to newly cloned repository"
-          cd sapphiredev-website
-
-          echo -e "\n# Updating submodules"
-          git pull --recurse-submodules && git submodule update --remote --recursive
-
-          echo -e "\n# Add all files in current directory"
-          git add --all .
-
-          if git diff-index --quiet HEAD --; then
-            echo "No changes to commit, exiting with code 0"
-            exit 0;
-          else
-            echo -e "\n# Before pushing changes we update the lockfile"
-            echo -e "\nenableImmutableInstalls: false" >> ./.yarnrc.yml
-            rm -rf ./node_modules ./yarn.lock || true
-            yarn install
-            echo -e "\n# Adding yarn lockfile"
-            git add yarn.lock
-            git config user.name "${GITHUB_ACTOR}"
-            git config user.email "${GITHUB_EMAIL}"
-            git commit -snm "chore: updated GitHub Submodules at $(date '+%F %H:%M.%S')" || true
-            git push origin $TARGET_BRANCH
-          fi
-        env:
-          GITHUB_TOKEN: ${{ secrets.SKYRA_TOKEN }}
-          GITHUB_ACTOR: NM-EEA-Y
-          GITHUB_EMAIL: contact@skyra.pw
diff --git a/.gitignore b/.gitignore
index 29062804..8736c036 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,7 +14,7 @@ build/
 .docusaurus/
 .cache-loader/
 docs/Documentation/
-tsconfig.tsbuildinfo
+*.tsbuildinfo
 
 # misc
 .DS_Store
@@ -32,3 +32,6 @@ npm-debug.log*
 yarn-debug.log*
 yarn-error.log*
 *.log
+
+# TODO: Remove later
+dist/
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 77232eee..00000000
--- a/.gitmodules
+++ /dev/null
@@ -1,24 +0,0 @@
-[submodule "projects/framework"]
-	path = projects/framework
-	url = https://github.com/sapphiredev/framework
-	branch = main
-[submodule "projects/pieces"]
-	path = projects/pieces
-	url = https://github.com/sapphiredev/pieces
-	branch = main
-[submodule "projects/utilities"]
-	path = projects/utilities
-	url = https://github.com/sapphiredev/utilities
-	branch = main
-[submodule "projects/plugins"]
-	path = projects/plugins
-	url = https://github.com/sapphiredev/plugins
-	branch = main
-[submodule "projects/type"]
-	path = projects/type
-	url = https://github.com/sapphiredev/type
-	branch = main
-[submodule "projects/shapeshift"]
-	path = projects/shapeshift
-	url = https://github.com/sapphiredev/shapeshift
-	branch = main
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..4a58d76a
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,17 @@
+{
+	"configurations": [
+		{
+			"type": "pwa-node",
+			"request": "launch",
+			"runtimeArgs": ["run-script", "debug"],
+			"name": "Debug Docgen",
+			"runtimeExecutable": "npm",
+			"skipFiles": ["<node_internals>/**", "node_modules/tslib/**"],
+			"internalConsoleOptions": "openOnSessionStart",
+			"cwd": "${workspaceFolder}/docusaurus-discordjs-docgen",
+			"console": "internalConsole",
+			"outputCapture": "std",
+			"outFiles": ["${workspaceFolder}/docusaurus-discordjs-docgen/dist/**/*.js"]
+		}
+	]
+}
diff --git a/data/framework.json b/data/framework.json
new file mode 100644
index 00000000..0d4395db
--- /dev/null
+++ b/data/framework.json
@@ -0,0 +1,44646 @@
+{
+    "meta": {
+        "version": "0.3.4",
+        "format": 20,
+        "date": 1650918806062
+    },
+    "custom": {
+        "general": {
+            "name": "General",
+            "files": {
+                "welcome": {
+                    "name": "Welcome",
+                    "type": "md",
+                    "content": "<div align=\"center\">\n\n![Sapphire Logo](https://cdn.skyra.pw/gh-assets/sapphire-banner.png)\n\n# Sapphire\n\n**A pleasant Discord Bot framework**\n\n[![GitHub](https://img.shields.io/github/license/sapphiredev/framework)](https://github.com/sapphiredev/framework/blob/main/LICENSE.md)\n[![codecov](https://codecov.io/gh/sapphiredev/framework/branch/main/graph/badge.svg?token=AHPITY8WY9)](https://codecov.io/gh/sapphiredev/framework)\n[![npm](https://img.shields.io/npm/v/@sapphire/framework?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@sapphire/framework)\n\n[![Support Server](https://discord.com/api/guilds/737141877803057244/embed.png?style=banner2)](https://sapphirejs.dev/discord)\n\n</div>\n\n---\n\n## Description\n\nSapphire is a Discord bot framework built on top of [discord.js] for advanced and amazing bots.\n\n<div align=\"center\" style=\"padding-top: 2rem; padding-bottom: 1rem\">\n\n| [**Click here for the documentation and guides**](https://www.sapphirejs.dev/) |\n| ------------------------------------------------------------------------------ |\n\n</div>\n\n## Features\n\n-   Written in TypeScript\n-   Command Handler, Arguments, Pre-conditions and Listeners Store\n-   Completely Modular and Extendable\n-   Advanced Plugins Support\n-   Supports many [plugins](https://github.com/sapphiredev/plugins)\n-   Full TypeScript & JavaScript support\n\n## Installation\n\n`@sapphire/framework` depends on the following packages. Be sure to install these along with this package!\n\n-   [`discord.js`](https://www.npmjs.com/package/discord.js)\n\nYou can use the following command to install this package, or replace `npm install` with your package manager of choice.\n\n```sh\nnpm install @sapphire/framework discord.js\n```\n\n---\n\n## Buy us some doughnuts\n\nSapphire Community is and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!\n\nWe accept donations through Open Collective, Ko-fi, Paypal, Patreon and GitHub Sponsorships. You can use the buttons below to donate through your method of choice.\n\n|   Donate With   |                       Address                       |\n| :-------------: | :-------------------------------------------------: |\n| Open Collective | [Click Here](https://sapphirejs.dev/opencollective) |\n|      Ko-fi      |      [Click Here](https://sapphirejs.dev/kofi)      |\n|     Patreon     |    [Click Here](https://sapphirejs.dev/patreon)     |\n|     PayPal      |     [Click Here](https://sapphirejs.dev/paypal)     |\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/kyranet\"><img src=\"https://avatars0.githubusercontent.com/u/24852502?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Antonio RomΓ‘n</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=kyranet\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/commits?author=kyranet\" title=\"Documentation\">πŸ“–</a> <a href=\"#design-kyranet\" title=\"Design\">🎨</a> <a href=\"#ideas-kyranet\" title=\"Ideas, Planning, & Feedback\">πŸ€”</a> <a href=\"#infra-kyranet\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">πŸš‡</a> <a href=\"#projectManagement-kyranet\" title=\"Project Management\">πŸ“†</a> <a href=\"#plugin-kyranet\" title=\"Plugin/utility libraries\">πŸ”Œ</a></td>\n    <td align=\"center\"><a href=\"https://favware.tech/\"><img src=\"https://avatars3.githubusercontent.com/u/4019718?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jeroen Claassens</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=favna\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/commits?author=favna\" title=\"Documentation\">πŸ“–</a> <a href=\"#infra-favna\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">πŸš‡</a> <a href=\"#projectManagement-favna\" title=\"Project Management\">πŸ“†</a> <a href=\"#plugin-favna\" title=\"Plugin/utility libraries\">πŸ”Œ</a></td>\n    <td align=\"center\"><a href=\"https://github.com/cfanoulis\"><img src=\"https://avatars3.githubusercontent.com/u/38255093?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Charalampos Fanoulis</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=cfanoulis\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://github.com/AdityaTD\"><img src=\"https://avatars0.githubusercontent.com/u/9266227?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Aditya N. Tripathi</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=AdityaTD\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/commits?author=AdityaTD\" title=\"Documentation\">πŸ“–</a></td>\n    <td align=\"center\"><a href=\"http://leonard.sh\"><img src=\"https://avatars1.githubusercontent.com/u/35312043?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>LeonardSSH</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=LeonardSSH\" title=\"Documentation\">πŸ“–</a></td>\n    <td align=\"center\"><a href=\"https://Quantumlyy.com/\"><img src=\"https://avatars1.githubusercontent.com/u/7919610?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nejc Drobnič</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Quantumlyy\" title=\"Code\">πŸ’»</a> <a href=\"#plugin-Quantumlyy\" title=\"Plugin/utility libraries\">πŸ”Œ</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Phamzito\"><img src=\"https://avatars2.githubusercontent.com/u/31642521?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>David Gustavo Herrera De La Cruz</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Phamzito\" title=\"Code\">πŸ’»</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/Rexogamer\"><img src=\"https://avatars0.githubusercontent.com/u/42586271?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ed L</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Rexogamer\" title=\"Documentation\">πŸ“–</a></td>\n    <td align=\"center\"><a href=\"https://atm.moe/\"><img src=\"https://avatars3.githubusercontent.com/u/31011461?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kovacs Alex</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=alexthemaster\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Alcremie\"><img src=\"https://avatars0.githubusercontent.com/u/54785334?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ivan Lieder</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Alcremie\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/pulls?q=is%3Apr+reviewed-by%3AAlcremie\" title=\"Reviewed Pull Requests\">πŸ‘€</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Nytelife26\"><img src=\"https://avatars1.githubusercontent.com/u/22531310?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tyler J Russell</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Nytelife26\" title=\"Code\">πŸ’»</a> <a href=\"#infra-Nytelife26\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">πŸš‡</a> <a href=\"#plugin-Nytelife26\" title=\"Plugin/utility libraries\">πŸ”Œ</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Stitch07\"><img src=\"https://avatars0.githubusercontent.com/u/29275227?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Stitch07</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Stitch07\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://lavya.tech/\"><img src=\"https://avatars.githubusercontent.com/u/65386243?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>lavgup</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=lavgup\" title=\"Documentation\">πŸ“–</a></td>\n    <td align=\"center\"><a href=\"https://github.com/vladfrangu\"><img src=\"https://avatars.githubusercontent.com/u/17960496?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Vlad Frangu</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=vladfrangu\" title=\"Code\">πŸ’»</a> <a href=\"#infra-vladfrangu\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">πŸš‡</a> <a href=\"https://github.com/sapphiredev/framework/pulls?q=is%3Apr+reviewed-by%3Avladfrangu\" title=\"Reviewed Pull Requests\">πŸ‘€</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/noftaly\"><img src=\"https://avatars.githubusercontent.com/u/34779161?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Elliot</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=noftaly\" title=\"Documentation\">πŸ“–</a> <a href=\"https://github.com/sapphiredev/framework/commits?author=noftaly\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://kaname.netlify.app\"><img src=\"https://avatars.githubusercontent.com/u/56084970?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kaname</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=kaname-png\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/issues?q=author%3Akaname-png\" title=\"Bug reports\">πŸ›</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Lioness100\"><img src=\"https://avatars.githubusercontent.com/u/65814829?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Lioness100</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=Lioness100\" title=\"Code\">πŸ’»</a> <a href=\"https://github.com/sapphiredev/framework/commits?author=Lioness100\" title=\"Documentation\">πŸ“–</a> <a href=\"https://github.com/sapphiredev/framework/issues?q=author%3ALioness100\" title=\"Bug reports\">πŸ›</a></td>\n    <td align=\"center\"><a href=\"https://github.com/gc\"><img src=\"https://avatars.githubusercontent.com/u/30398469?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>GC</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=gc\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://minecolonies.com/\"><img src=\"https://avatars.githubusercontent.com/u/19329455?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark Fisher</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=PoroUsedSnax\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://github.com/bitomic\"><img src=\"https://avatars.githubusercontent.com/u/35199700?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>bitomic</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=bitomic\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://c43721.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/55610086?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>c43721</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=c43721\" title=\"Code\">πŸ’»</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/apps/depfu\"><img src=\"https://avatars.githubusercontent.com/in/715?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>depfu[bot]</b></sub></a><br /><a href=\"#maintenance-depfu[bot]\" title=\"Maintenance\">🚧</a></td>\n    <td align=\"center\"><a href=\"https://github.com/apps/renovate\"><img src=\"https://avatars.githubusercontent.com/in/2740?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>renovate[bot]</b></sub></a><br /><a href=\"#maintenance-renovate[bot]\" title=\"Maintenance\">🚧</a></td>\n    <td align=\"center\"><a href=\"https://github.com/apps/dependabot\"><img src=\"https://avatars.githubusercontent.com/in/29110?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href=\"#maintenance-dependabot[bot]\" title=\"Maintenance\">🚧</a></td>\n    <td align=\"center\"><a href=\"https://github.com/apps/allcontributors\"><img src=\"https://avatars.githubusercontent.com/in/23186?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>allcontributors[bot]</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=allcontributors[bot]\" title=\"Documentation\">πŸ“–</a></td>\n    <td align=\"center\"><a href=\"https://megatank58.me/\"><img src=\"https://avatars.githubusercontent.com/u/51410502?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>megatank58</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=megatank58\" title=\"Code\">πŸ’»</a></td>\n    <td align=\"center\"><a href=\"https://github.com/feralheart\"><img src=\"https://avatars.githubusercontent.com/u/3487559?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Feralheart</b></sub></a><br /><a href=\"https://github.com/sapphiredev/framework/commits?author=feralheart\" title=\"Code\">πŸ’»</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n[discord.js]: https://github.com/discordjs/discord.js\n",
+                    "path": "README.md"
+                }
+            }
+        }
+    },
+    "classes": [
+        {
+            "name": "AliasPiece",
+            "description": "The piece to be stored in {@link AliasStore} instances.",
+            "extends": [
+                "Piece<O>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "AliasPieceOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "AliasPiece",
+                            "<"
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 691,
+                    "file": "index.d.ts",
+                    "path": "node_modules/@sapphire/pieces/dist"
+                }
+            },
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 690,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this alias piece.",
+                    "returns": [
+                        [
+                            [
+                                "AliasPieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 695,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 686,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "AliasStore",
+            "description": "The store class which contains {@link AliasPiece}s.",
+            "extends": [
+                "Store<T>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "constructor",
+                        "description": "The piece constructor this store loads.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Constructor",
+                                    "<"
+                                ],
+                                [
+                                    "T",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "description": "The options for the store.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "StoreOptions",
+                                    "<"
+                                ],
+                                [
+                                    "T",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "AliasStore",
+                            "<"
+                        ],
+                        [
+                            "T",
+                            ">"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "aliases",
+                    "description": "The aliases referencing to pieces.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 712,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                " | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "description": "Looks up the name by the store, falling back to an alias lookup.",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to look for.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 717,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "has",
+                    "description": "Checks whether a key is in the store, or is an alias",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to check",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 722,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store, and adds all the aliases.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 734,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "T",
+                                ">]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "AliasStore",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AliasStore",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name, and removes all the aliases.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 728,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 708,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "AllFlowsPrecondition",
+            "extends": [
+                "Precondition"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "default": "{}",
+                        "type": [
+                            [
+                                [
+                                    "PreconditionOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "AllFlowsPrecondition"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PreconditionOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "position",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "chatInputRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 52,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 54,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "error",
+                    "description": "Constructs a {@link PreconditionError} with the precondition parameter set to `this`.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The information.",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "Options",
+                                        ", "
+                                    ],
+                                    [
+                                        "'precondition'",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 35,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "fetchChannelFromInteraction",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "BaseCommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "TextBasedChannel",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 39,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 50,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "ok",
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this piece.",
+                    "returns": [
+                        [
+                            [
+                                "PieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 479,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 49,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ApplicationCommandRegistry",
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "commandName",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "string"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "ApplicationCommandRegistry"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 35,
+                    "file": "ApplicationCommandRegistry.ts",
+                    "path": "src/lib/utils/application-commands"
+                }
+            },
+            "props": [
+                {
+                    "name": "apiCalls",
+                    "access": "private",
+                    "readonly": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "InternalAPICall",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 33,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "chatInputCommands",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 30,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "commandName",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "contextMenuCommands",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 31,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "command",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 39,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "addChatInputCommandIds",
+                    "params": [
+                        {
+                            "name": "commandIds",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        "> | "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "addChatInputCommandNames",
+                    "params": [
+                        {
+                            "name": "names",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        "> | "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 105,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "addContextMenuCommandIds",
+                    "params": [
+                        {
+                            "name": "commandIds",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        "> | "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 156,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "addContextMenuCommandNames",
+                    "params": [
+                        {
+                            "name": "names",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        "> | "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 120,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "createMissingCommand",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "commandsManager",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommandManager",
+                                        "<"
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}>, {"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}, "
+                                    ],
+                                    [
+                                        "null",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "apiData",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "RESTPostAPIChatInputApplicationCommandsJSONBody",
+                                        " | "
+                                    ],
+                                    [
+                                        "RESTPostAPIContextMenuApplicationCommandsJSONBody"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "type",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "guildId",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 401,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "debug",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "other",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 448,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "error",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "other",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 440,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "handleAPICall",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "commandsManager",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommandManager",
+                                        "<"
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}>, {"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}, "
+                                    ],
+                                    [
+                                        "null",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "globalCommands",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "allGuildsCommands",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>>>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "apiCall",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "InternalAPICall"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 223,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "handleCommandPresent",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "applicationCommand",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "apiData",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "RESTPostAPIChatInputApplicationCommandsJSONBody",
+                                        " | "
+                                    ],
+                                    [
+                                        "RESTPostAPIContextMenuApplicationCommandsJSONBody"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "behaviorIfNotEqual",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "RegisterBehavior"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "guildId",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 341,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "info",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "other",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 436,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "logCommandDifferences",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "differences",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "CommandDifference",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "applicationCommand",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "logAsWarn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 381,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "registerChatInputCommand",
+                    "params": [
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputApplicationCommandData",
+                                        " | "
+                                    ],
+                                    [
+                                        "SlashCommandBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "SlashCommandSubcommandsOnlyBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "SlashCommandOptionsOnlyBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "SlashCommandBuilder",
+                                        ", "
+                                    ],
+                                    [
+                                        "'addSubcommand'",
+                                        " | "
+                                    ],
+                                    [
+                                        "'addSubcommandGroup'",
+                                        "> | ("
+                                    ],
+                                    [
+                                        "builder",
+                                        ": "
+                                    ],
+                                    [
+                                        "SlashCommandBuilder",
+                                        ") => "
+                                    ],
+                                    [
+                                        "SlashCommandBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "SlashCommandSubcommandsOnlyBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "SlashCommandOptionsOnlyBuilder",
+                                        " | "
+                                    ],
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "SlashCommandBuilder",
+                                        ", "
+                                    ],
+                                    [
+                                        "'addSubcommand'",
+                                        " | "
+                                    ],
+                                    [
+                                        "'addSubcommandGroup'",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "RegisterOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 43,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "registerContextMenuCommand",
+                    "params": [
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "UserApplicationCommandData",
+                                        " | "
+                                    ],
+                                    [
+                                        "MessageApplicationCommandData",
+                                        " | "
+                                    ],
+                                    [
+                                        "ContextMenuCommandBuilder",
+                                        " | ("
+                                    ],
+                                    [
+                                        "builder",
+                                        ": "
+                                    ],
+                                    [
+                                        "ContextMenuCommandBuilder",
+                                        ") => "
+                                    ],
+                                    [
+                                        "ContextMenuCommandBuilder"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "RegisterOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 78,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "runAPICalls",
+                    "params": [
+                        {
+                            "name": "applicationCommands",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommandManager",
+                                        "<"
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}>, {"
+                                    ],
+                                    [
+                                        "\nguild",
+                                        ": "
+                                    ],
+                                    [
+                                        "GuildResolvable\n",
+                                        "}, "
+                                    ],
+                                    [
+                                        "null",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "globalCommands",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "guildCommands",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "ApplicationCommand",
+                                        "<{}>>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 177,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "trace",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "other",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 452,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                },
+                {
+                    "name": "warn",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "other",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 444,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 27,
+                "file": "ApplicationCommandRegistry.ts",
+                "path": "src/lib/utils/application-commands"
+            }
+        },
+        {
+            "name": "Args",
+            "description": "The argument parser to be used in {@link Command}.",
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "message",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Message",
+                                    "<"
+                                ],
+                                [
+                                    "boolean",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "command",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "MessageCommand"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "parser",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Args"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "MessageCommandContext"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Args"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 57,
+                    "file": "Args.ts",
+                    "path": "src/lib/parsers"
+                }
+            },
+            "props": [
+                {
+                    "name": "command",
+                    "description": "The command that is being run.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "commandContext",
+                    "description": "The context of the command being run.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 43,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "message",
+                    "description": "The original message that triggered the command.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 33,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "parser",
+                    "description": "The internal Lexure parser.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Args"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 48,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "states",
+                    "description": "The states stored in the args.",
+                    "see": [
+                        "Args#save",
+                        "Args#restore"
+                    ],
+                    "access": "private",
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "ArgsState",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 55,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "finished",
+                    "description": "Whether all arguments have been consumed.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 633,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "getFlags",
+                    "description": "Checks if one or more flag were given.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// Suppose args are from '--f --g'.\nconsole.log(args.getFlags('f'));\n// >>> true\n\nconsole.log(args.getFlags('g', 'h'));\n// >>> true\n\nconsole.log(args.getFlags('h'));\n// >>> false\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The name(s) of the flag.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 570,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "getOption",
+                    "description": "Gets the last value of one or more options.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// Suppose args are from '--a=1 --b=2 --c=3'.\nconsole.log(args.getOption('a'));\n// >>> '1'\n\nconsole.log(args.getOption('b', 'c'));\n// >>> '2'\n\nconsole.log(args.getOption('d'));\n// >>> null\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The name(s) of the option.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 590,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "getOptions",
+                    "description": "Gets all the values of one or more option.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// Suppose args are from '--a=1 --a=1 --b=2 --c=3'.\nconsole.log(args.getOptions('a'));\n// >>> ['1', '1']\n\nconsole.log(args.getOptions('b', 'c'));\n// >>> ['2', '3']\n\nconsole.log(args.getOptions('d'));\n// >>> null\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The name(s) of the option.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 610,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "missingArguments",
+                    "returns": [
+                        [
+                            [
+                                "Err",
+                                "<"
+                            ],
+                            [
+                                "UserError",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 655,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "next",
+                    "description": "Similar to {@link Args.nextMaybe} but returns the value on success, null otherwise.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !numbers 1 2 3\n\nconsole.log(args.next());\n// -> '1'\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 531,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "nextMaybe",
+                    "description": "Retrieves the next raw argument from the parser.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !numbers 1 2 3\n\nconsole.log(args.nextMaybe());\n// -> { exists: true, value: '1' }\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Maybe",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 498,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "peek",
+                    "description": "Similar to {@link Args.peekResult} but returns the value on success, throwing otherwise.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !bigintsumthensquarefirst 25 50 75\nconst resolver = Args.make((arg) => {\n  try {\n    return ok(BigInt(arg));\n  } catch {\n    return err(new UserError('InvalidBigInt', 'You must specify a valid number for a bigint.'));\n  }\n});\n\nconst peeked = await args.peek(() => args.repeatResult(resolver));\nawait message.channel.send(`Sum: **${peeked.reduce((x, y) => x + y, 0)}**`); // Sum: 150\n\nconst first = await args.pick(resolver);\nawait message.channel.send(`First bigint squared: ${first**2n}`); // First bigint squared: 625\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The function, custom argument, or argument name.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "(..."
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "unknown",
+                                        "[]) => "
+                                    ],
+                                    [
+                                        "Result",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 442,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "peekResult",
+                    "description": "Peeks the following parameter(s) without advancing the parser's state.\nPassing a function as a parameter allows for returning {@link Args.pickResult}, {@link Args.repeatResult},\nor {@link Args.restResult}; otherwise, passing the custom argument or the argument type with options\nwill use {@link Args.pickResult} and only peek a single argument.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !reversedandscreamfirst hello world\nconst resolver = Args.make((arg) => ok(arg.split('').reverse().join('')));\n\nconst result = await args.peekResult(() => args.repeatResult(resolver));\nif (isOk(result)) await message.channel.send(\n  `Reversed ${result.value.length} word(s): ${result.value.join(' ')}`\n); // Reversed 2 word(s): olleh dlrow\n\nconst firstWord = await args.pickResult('string');\nif (isOk(firstWord)) await message.channel.send(firstWord.value.toUpperCase()); // HELLO\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The function, custom argument, or argument name.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "(..."
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "unknown",
+                                        "[]) => "
+                                    ],
+                                    [
+                                        "Result",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ", "
+                            ],
+                            [
+                                "UserError",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 368,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "pick",
+                    "description": "Similar to {@link Args.pickResult} but returns the value on success, throwing otherwise.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !square 5\nconst resolver = Args.make((arg) => {\n  const parsed = Number(argument);\n  if (Number.isNaN(parsed)) return err(new UserError('ArgumentNumberNaN', 'You must write a valid number.'));\n  return ok(parsed);\n});\nconst a = await args.pick(resolver);\n\nawait message.channel.send(`The result is: ${a ** 2}!`);\n// Sends \"The result is: 25\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "ArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 150,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "pickResult",
+                    "description": "Retrieves the next parameter and parses it. Advances index on success.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !square 5\nconst resolver = Args.make((arg) => {\n  const parsed = Number(argument);\n  if (Number.isNaN(parsed)) return err(new UserError('ArgumentNumberNaN', 'You must write a valid number.'));\n  return ok(parsed);\n});\nconst a = await args.pickResult(resolver);\nif (!a.success) throw new UserError('ArgumentNumberNaN', 'You must write a valid number.');\n\nawait message.channel.send(`The result is: ${a.value ** 2}!`);\n// Sends \"The result is: 25\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "ArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ", "
+                            ],
+                            [
+                                "UserError",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 94,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "repeat",
+                    "description": "Similar to {@link Args.repeatResult} but returns the value on success, throwing otherwise.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !reverse-each 2 Hello World!\nconst resolver = Args.make((arg) => ok(arg.split('').reverse()));\nconst result = await args.repeat(resolver, { times: 5 });\nawait message.channel.send(`You have written ${result.length} word(s): ${result.join(' ')}`);\n// Sends \"You have written 2 word(s): Hello World!\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "RepeatArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "repeatResult",
+                    "description": "Retrieves all the following arguments.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !add 2 Hello World!\nconst resolver = Args.make((arg) => ok(arg.split('').reverse()));\nconst result = await args.repeatResult(resolver, { times: 5 });\nif (!result.success) throw new UserError('CountArgumentError', 'You must write up to 5 words.');\n\nawait message.channel.send(`You have written ${result.value.length} word(s): ${result.value.join(' ')}`);\n// Sends \"You have written 2 word(s): olleH !dlroW\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "RepeatArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">, "
+                            ],
+                            [
+                                "UserError",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 269,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "resolveArgument",
+                    "description": "Resolves an argument.",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "arg",
+                            "description": "The argument name or {@link IArgument} instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "ArgType",
+                                        " | "
+                                    ],
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 663,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "rest",
+                    "description": "Similar to {@link Args.restResult} but returns the value on success, throwing otherwise.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !reverse Hello world!\nconst resolver = Args.make((arg) => ok(arg.split('').reverse()));\nconst a = await args.rest(resolver);\nawait message.channel.send(`The reversed value is... ${a}`);\n// Sends \"The reversed value is... !dlrow olleH\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "ArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 235,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "restResult",
+                    "description": "Retrieves all the following arguments.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// !reverse Hello world!\nconst resolver = Args.make((arg) => ok(arg.split('').reverse()));\nconst a = await args.restResult(resolver);\nif (!a.success) throw new UserError('AddArgumentError', 'You must write some text.');\n\nawait message.channel.send(`The reversed value is... ${a.value}`);\n// Sends \"The reversed value is... !dlrow olleH\"\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "type",
+                            "description": "The type of the argument.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "ArgOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ", "
+                            ],
+                            [
+                                "UserError",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 184,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "restore",
+                    "description": "Restores the previously saved state from the stack.",
+                    "see": [
+                        "Args#save"
+                    ],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 626,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "save",
+                    "description": "Saves the current state into the stack following a FILO strategy (first-in, last-out).",
+                    "see": [
+                        "Args#restore"
+                    ],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 618,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "start",
+                    "description": "Sets the parser to the first token.",
+                    "returns": [
+                        [
+                            [
+                                "Args"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 67,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` override.",
+                    "returns": [
+                        [
+                            [
+                                "{"
+                            ],
+                            [
+                                "\ncommand",
+                                ": "
+                            ],
+                            [
+                                "MessageCommand",
+                                ","
+                            ],
+                            [
+                                "\ncommandContext",
+                                ": "
+                            ],
+                            [
+                                "MessageCommandContext",
+                                ","
+                            ],
+                            [
+                                "\nmessage",
+                                ": "
+                            ],
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ],
+                            [
+                                "\n",
+                                "}"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 640,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "unavailableArgument",
+                    "params": [
+                        {
+                            "name": "type",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Err",
+                                "<"
+                            ],
+                            [
+                                "UserError",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 644,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "error",
+                    "description": "Constructs an {@link Err} result containing an {@link ArgumentError}.",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The options for the argument error.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Options",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Err",
+                                "<"
+                            ],
+                            [
+                                "ArgumentError",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 688,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "make",
+                    "description": "Converts a callback into an usable argument.",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "cb",
+                            "description": "The callback to convert into an {@link IArgument}.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "parameter",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "context",
+                                        ": "
+                                    ],
+                                    [
+                                        "Context",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "Result",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "default": "''",
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 672,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                },
+                {
+                    "name": "ok",
+                    "description": "Constructs an {@link Ok} result.",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "value",
+                            "description": "The value to pass.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Ok",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 680,
+                        "file": "Args.ts",
+                        "path": "src/lib/parsers"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 29,
+                "file": "Args.ts",
+                "path": "src/lib/parsers"
+            }
+        },
+        {
+            "name": "Argument",
+            "description": "The base argument class. This class is abstract and is to be extended by subclasses implementing the methods. In\nSapphire's workflow, arguments are called when using {@link Args}'s methods (usually used inside {@link Command}s by default).",
+            "see": [],
+            "extends": [
+                "AliasPiece<O>"
+            ],
+            "implements": [
+                "IArgument<T>"
+            ],
+            "examples": [
+                "```typescript\nimport { Argument, PieceContext } from '@sapphire/framework';\nimport { URL } from 'url';\n\nexport class CoreArgument extends Argument<URL> {\n  public constructor(context: PieceContext) {\n    super(context, { name: 'hyperlink', aliases: ['url'] });\n  }\n\n  public run(argument: string): Argument.Result<URL> {\n    try {\n      return this.ok(new URL(argument));\n    } catch {\n      return this.error(argument, 'ArgumentHyperlinkInvalidURL', 'The argument did not resolve to a valid URL.');\n    }\n  }\n}\n\n// Augment the ArgType structure so `args.pick('url')`, `args.repeat('url')`\n// and others have a return type of `URL`.\ndeclare module '@sapphire/framework' {\n  export interface ArgType {\n    url: URL;\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "AliasPieceOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Argument",
+                            "<"
+                        ],
+                        [
+                            "T",
+                            ", "
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 690,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "error",
+                    "description": "Constructs an {@link ArgumentError} with a custom type.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "Options",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">, "
+                                    ],
+                                    [
+                                        "'argument'",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 83,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "ok",
+                    "description": "Wraps a value into a successful value.",
+                    "params": [
+                        {
+                            "name": "value",
+                            "description": "The value to wrap.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 73,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "run",
+                    "description": "The method which is called when invoking the argument.",
+                    "params": [
+                        {
+                            "name": "parameter",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Context",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 67,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this alias piece.",
+                    "returns": [
+                        [
+                            [
+                                "AliasPieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 695,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 66,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ArgumentError",
+            "description": "Errors thrown by the argument parser",
+            "see": [],
+            "extends": [
+                "UserError"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "description": "Constructs an UserError.",
+                "params": [
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Options",
+                                    "<"
+                                ],
+                                [
+                                    "T",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "ArgumentError",
+                            "<"
+                        ],
+                        [
+                            "T",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 13,
+                    "file": "ArgumentError.ts",
+                    "path": "src/lib/errors"
+                }
+            },
+            "props": [
+                {
+                    "name": "argument",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 10,
+                        "file": "ArgumentError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "cause",
+                    "type": [
+                        [
+                            [
+                                "Error"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "lib.es2022.error.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "context",
+                    "description": "User-provided context.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "identifier",
+                    "description": "An identifier, useful to localize emitted errors.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "message",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1023,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "parameter",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "ArgumentError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "stack",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1024,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "prepareStackTrace",
+                    "description": "Optional override for formatting stack traces",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "err",
+                                ": "
+                            ],
+                            [
+                                "Error",
+                                ", "
+                            ],
+                            [
+                                "stackTraces",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CallSite",
+                                ">) => "
+                            ],
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "stackTraceLimit",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 13,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 20,
+                        "file": "ArgumentError.ts",
+                        "path": "src/lib/errors"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "captureStackTrace",
+                    "description": "Create .stack property on a target object",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "targetObject",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "object"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "constructorOpt",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Function"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 9,
+                "file": "ArgumentError.ts",
+                "path": "src/lib/errors"
+            }
+        },
+        {
+            "name": "ArgumentStore",
+            "extends": [
+                "AliasStore<Argument>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "ArgumentStore"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 5,
+                    "file": "ArgumentStore.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "aliases",
+                    "description": "The aliases referencing to pieces.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 712,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                "> | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "description": "Looks up the name by the store, falling back to an alias lookup.",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to look for.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 717,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "has",
+                    "description": "Checks whether a key is in the store, or is an alias",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to check",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 722,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store, and adds all the aliases.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 734,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ArgumentStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name, and removes all the aliases.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Argument",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ", "
+                                    ],
+                                    [
+                                        "ArgumentOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 728,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "Argument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ", "
+                            ],
+                            [
+                                "ArgumentOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 4,
+                "file": "ArgumentStore.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ClientPermissionsPrecondition",
+            "description": "Constructs a contextful permissions precondition requirement.",
+            "see": [],
+            "implements": [
+                "PreconditionSingleResolvableDetails<'ClientPermissions'>"
+            ],
+            "examples": [
+                "```typescript\nexport class CoreCommand extends Command {\n  public constructor(context: PieceContext) {\n    super(context, {\n      preconditions: [\n        'GuildOnly',\n        new ClientPermissionsPrecondition('ADD_REACTIONS')\n      ]\n    });\n  }\n\n  public messageRun(message: Message, args: Args) {\n    // ...\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "description": "Constructs a precondition container entry.",
+                "params": [
+                    {
+                        "name": "permissions",
+                        "description": "The permissions that will be required by this command.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PermissionResolvable"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "ClientPermissionsPrecondition"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 33,
+                    "file": "ClientPermissionsPrecondition.ts",
+                    "path": "src/lib/utils/preconditions/containers"
+                }
+            },
+            "props": [
+                {
+                    "name": "context",
+                    "description": "The context to be set at {@link PreconditionContainerSingle.context}.",
+                    "type": [
+                        [
+                            [
+                                "{"
+                            ],
+                            [
+                                "\npermissions",
+                                ": "
+                            ],
+                            [
+                                "Permissions\n",
+                                "}"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "ClientPermissionsPrecondition.ts",
+                        "path": "src/lib/utils/preconditions/containers"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the precondition to retrieve from {@link SapphireClient.preconditions}.",
+                    "type": [
+                        [
+                            [
+                                "'ClientPermissions'"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "ClientPermissionsPrecondition.ts",
+                        "path": "src/lib/utils/preconditions/containers"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 25,
+                "file": "ClientPermissionsPrecondition.ts",
+                "path": "src/lib/utils/preconditions/containers"
+            }
+        },
+        {
+            "name": "Command",
+            "extends": [
+                "AliasPiece<O>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "see": [],
+                "examples": [],
+                "abstract": false,
+                "deprecated": false,
+                "emits": [],
+                "params": [
+                    {
+                        "name": "context",
+                        "description": "The context.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "description": "Optional Command settings.",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "O"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Command",
+                            "<"
+                        ],
+                        [
+                            "PreParseReturn",
+                            ", "
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 89,
+                    "file": "Command.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 690,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "applicationCommandRegistry",
+                    "description": "The application command registry associated with this command.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 68,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "chatInputCommandOptions",
+                    "description": "Options used to easily register chat input commands",
+                    "see": [],
+                    "access": "private",
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "CommandChatInputRegisterShortcut"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 75,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "description",
+                    "description": "A basic summary about the command",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "detailedDescription",
+                    "description": "Longer version of command's summary and how to use it",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "DetailedDescriptionCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 39,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "fullCategory",
+                    "description": "The full category for the command. Either an array of strings that denote every (sub)folder the command is in,\nor `null` if it could not be resolved automatically.",
+                    "extendedDescription": "If this is `null` for how you setup your code then you can overwrite how the `fullCategory` is resolved by\nextending this class and overwriting the assignment in the constructor.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 49,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "lexer",
+                    "description": "The lexer to be used for command parsing",
+                    "see": [],
+                    "access": "private",
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Lexer"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 82,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "preconditions",
+                    "description": "The preconditions to be run.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "PreconditionContainerArray"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 33,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "description": "The strategy to use for the lexer.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "UnorderedStrategy"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 55,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "typing",
+                    "description": "If {@link SapphireClient.typing} is true, it can be overridden for a specific command using this property, set via its options.\nOtherwise, this property will be ignored.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 62,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "category",
+                    "description": "The main category for the command, if any.",
+                    "extendedDescription": "This getter retrieves the first value of {@link Command.fullCategory}, if it has at least one item, otherwise it\nreturns `null`.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 151,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "parentCategory",
+                    "description": "The parent category for the command.",
+                    "extendedDescription": "This getter retrieves the last value of {@link Command.fullCategory}, if it has at least one item, otherwise it\nreturns `null`.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 175,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "subCategory",
+                    "description": "The sub-category for the command, if any.",
+                    "extendedDescription": "This getter retrieves the second value of {@link Command.fullCategory}, if it has at least two items, otherwise\nit returns `null`.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 163,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "autocompleteRun",
+                    "description": "Executes the autocomplete logic.",
+                    "extendDescription": ":::tip\n\nYou may use this, or alternatively create an {@link InteractionHandler interaction handler} to handle autocomplete interactions.\nKeep in mind that commands take precedence over interaction handlers.\n\n:::",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that triggered the autocomplete.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "AutocompleteInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 211,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "chatInputRun",
+                    "description": "Executes the application command's logic.",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that triggered the command.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommandContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 191,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "description": "Executes the context menu's logic.",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that triggered the command.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommandContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 197,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "messagePreParse",
+                    "description": "The message pre-parse method. This method can be overridden by plugins to define their own argument parser.",
+                    "params": [
+                        {
+                            "name": "message",
+                            "description": "The message that triggered the command.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "parameters",
+                            "description": "The raw parameters as a single string.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "description": "The command-context used in this execution.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommandContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Awaitable",
+                                "<"
+                            ],
+                            [
+                                "PreParseReturn",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 137,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "description": "Executes the message command's logic.",
+                    "params": [
+                        {
+                            "name": "message",
+                            "description": "The message that triggered the command.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "args",
+                            "description": "The value returned by {@link Command.messagePreParse}, by default an instance of {@link Args}.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreParseReturn"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "description": "The context in which the command was executed.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommandContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 185,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditions",
+                    "description": "Parses the command's options and processes them, calling {@link Command#parseConstructorPreConditionsRunIn},\n{@link Command#parseConstructorPreConditionsNsfw},\n{@link Command#parseConstructorPreConditionsRequiredClientPermissions}, and\n{@link Command#parseConstructorPreConditionsCooldown}.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 340,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditionsCooldown",
+                    "description": "Appends the `Cooldown` precondition when {@link Command.Options.cooldownLimit} and\n{@link Command.Options.cooldownDelay} are both non-zero.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 396,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditionsNsfw",
+                    "description": "Appends the `NSFW` precondition if {@link Command.Options.nsfw} is set to true.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 352,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditionsRequiredClientPermissions",
+                    "description": "Appends the `ClientPermissions` precondition when {@link Command.Options.requiredClientPermissions} resolves to a\nnon-zero bitfield.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 372,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditionsRequiredUserPermissions",
+                    "description": "Appends the `UserPermissions` precondition when {@link Command.Options.requiredUserPermissions} resolves to a\nnon-zero bitfield.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 384,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "parseConstructorPreConditionsRunIn",
+                    "description": "Appends the `DMOnly`, `GuildOnly`, `NewsOnly`, and `TextOnly` preconditions based on the values passed in\n{@link Command.Options.runIn}, optimizing in specific cases (`NewsOnly` + `TextOnly` = `GuildOnly`; `DMOnly` +\n`GuildOnly` = `null`), defaulting to `null`, which doesn't add a precondition.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The command options given from the constructor.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 362,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "registerApplicationCommands",
+                    "description": "Registers the application commands that should be handled by this command.",
+                    "params": [
+                        {
+                            "name": "registry",
+                            "description": "This command's registry",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ApplicationCommandRegistry"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Awaitable",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 229,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 279,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "resolveConstructorPreConditionsRunType",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "runIn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "undefined",
+                                        " | "
+                                    ],
+                                    [
+                                        "null",
+                                        " | "
+                                    ],
+                                    [
+                                        "CommandOptionsRunType",
+                                        " | "
+                                    ],
+                                    [
+                                        "CommandOptionsRunTypeEnum",
+                                        " | "
+                                    ],
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "CommandOptionsRunType",
+                                        " | "
+                                    ],
+                                    [
+                                        "CommandOptionsRunTypeEnum",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "PreconditionContainerArray",
+                                " | "
+                            ],
+                            [
+                                "CommandPreConditions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 416,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "supportsAutocompleteInteractions",
+                    "description": "Type-guard that ensures the command supports handling autocompletes by checking if the handler for it is present",
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "AutocompleteCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 275,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "supportsChatInputCommands",
+                    "description": "Type-guard that ensures the command supports chat input commands by checking if the handler for it is present",
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 261,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "supportsContextMenuCommands",
+                    "description": "Type-guard that ensures the command supports context menu commands by checking if the handler for it is present",
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 268,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "supportsMessageCommands",
+                    "description": "Type-guard that ensures the command supports message commands by checking if the handler for it is present",
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the JSON.stringify behavior of the command.",
+                    "returns": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 216,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 22,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "CommandStore",
+            "description": "Stores all Command pieces",
+            "see": [],
+            "extends": [
+                "AliasStore<Command>"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "CommandStore"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 11,
+                    "file": "CommandStore.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "aliases",
+                    "description": "The aliases referencing to pieces.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 712,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "categories",
+                    "description": "Get all the command categories.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 18,
+                        "file": "CommandStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                "> | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "description": "Looks up the name by the store, falling back to an alias lookup.",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to look for.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 717,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "has",
+                    "description": "Checks whether a key is in the store, or is an alias",
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to check",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 722,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store, and adds all the aliases.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 734,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 48,
+                        "file": "CommandStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "CommandStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name, and removes all the aliases.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Command",
+                                        "<"
+                                    ],
+                                    [
+                                        "Args",
+                                        ", "
+                                    ],
+                                    [
+                                        "CommandOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 24,
+                        "file": "CommandStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 10,
+                "file": "CommandStore.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ExtendedArgument",
+            "see": [],
+            "extends": [
+                "Argument<T>"
+            ],
+            "examples": [
+                "```typescript\nimport { ApplyOptions } from '@sapphire/decorators';\nimport { ExtendedArgument, ExtendedArgumentContext, ExtendedArgumentOptions } from '@sapphire/framework';\nimport type { Channel, TextChannel } from 'discord.js';\n\n(at)ApplyOptions<ExtendedArgumentOptions>({\n  name: 'textChannel',\n  baseArgument: 'channel'\n})\nexport class TextChannelArgument extends ExtendedArgument<'channel', TextChannel> {\n  public handle(parsed: Channel, { argument }: ExtendedArgumentContext): Argument.Result<TextChannel> {\n    return parsed.type === 'text'\n      ? this.ok(parsed as TextChannel)\n      : this.error({ identifier: 'ArgumentTextChannelInvalidTextChannel', message: 'The argument did not resolve to a text channel.' });\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": true,
+            "construct": {
+                "name": "constructor",
+                "see": [],
+                "examples": [],
+                "abstract": false,
+                "deprecated": true,
+                "emits": [],
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "ExtendedArgumentOptions",
+                                    "<"
+                                ],
+                                [
+                                    "K",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "ExtendedArgument",
+                            "<"
+                        ],
+                        [
+                            "K",
+                            ", "
+                        ],
+                        [
+                            "T",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 41,
+                    "file": "ExtendedArgument.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 690,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "baseArgument",
+                    "type": [
+                        [
+                            [
+                                "K"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 36,
+                        "file": "ExtendedArgument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ArgumentOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "base",
+                    "description": "Represents the underlying argument that transforms the raw argument\ninto the value used to compute the extended argument's value.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": true,
+                    "type": [
+                        [
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "ArgType",
+                                "["
+                            ],
+                            [
+                                "K",
+                                "]>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 51,
+                        "file": "ExtendedArgument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "error",
+                    "description": "Constructs an {@link ArgumentError} with a custom type.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "Options",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">, "
+                                    ],
+                                    [
+                                        "'argument'",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 83,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "handle",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": true,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "parsed",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ArgType",
+                                        "["
+                                    ],
+                                    [
+                                        "K",
+                                        "]"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ExtendedArgumentContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 69,
+                        "file": "ExtendedArgument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "ok",
+                    "description": "Wraps a value into a successful value.",
+                    "params": [
+                        {
+                            "name": "value",
+                            "description": "The value to wrap.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 73,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "run",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": true,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "parameter",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Context",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AsyncResult",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 58,
+                        "file": "ExtendedArgument.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this alias piece.",
+                    "returns": [
+                        [
+                            [
+                                "AliasPieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 695,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 35,
+                "file": "ExtendedArgument.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "InteractionHandler",
+            "extends": [
+                "Piece<O>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "InteractionHandlerOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "InteractionHandler",
+                            "<"
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 13,
+                    "file": "InteractionHandler.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "interactionHandlerType",
+                    "description": "The type for this handler",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerTypes"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "none",
+                    "returns": [
+                        [
+                            [
+                                "None"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 74,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "parse",
+                    "description": "A custom function that will be called when checking if an interaction should be passed to this handler.\nYou can use this method to not only filter by ids, but also pre-parse the data from the id for use in the run method.",
+                    "extendDescription": "By default, all interactions of the type you specified will run in a handler. You should override this method\nto change that behavior.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\n// Parsing a button handler\npublic override parse(interaction: ButtonInteraction) {\n  if (interaction.customId.startsWith('my-awesome-clicky-button')) {\n\t   // Returning a `some` here means that the run method should be called next!\n    return this.some({ isMyBotAwesome: true, awesomenessLevel: 9001 });\n  }\n\n  // Returning a `none` means this interaction shouldn't run in this handler\n  return this.none();\n}\n```",
+                        "```typescript\n// Getting data from a database based on the custom id\npublic override async parse(interaction: ButtonInteraction) {\n  // This code is purely for demonstration purposes only!\n  if (interaction.customId.startsWith('example-data')) {\n    const [, userId, channelId] = interaction.customId.split('.');\n\n\t   const dataFromDatabase = await container.prisma.exampleData.findFirst({ where: { userId, channelId } });\n\n    // Returning a `some` here means that the run method should be called next!\n    return this.some(dataFromDatabase);\n  }\n\n  // Returning a `none` means this interaction shouldn't run in this handler\n  return this.none();\n}\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "_interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Interaction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Awaitable",
+                                "<"
+                            ],
+                            [
+                                "Maybe",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A {@link Maybe} (or a {@link Promise Promised} {@link Maybe}) that indicates if this interaction should be\nhandled by this handler, and any extra data that should be passed to the {@link InteractionHandler.run run method}",
+                    "meta": {
+                        "line": 64,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "run",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Interaction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "parsedData",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "unknown"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 19,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "some",
+                    "returns": [
+                        [
+                            [
+                                "Maybe",
+                                "<"
+                            ],
+                            [
+                                "never",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 68,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this piece.",
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 78,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 6,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "InteractionHandlerStore",
+            "extends": [
+                "Store<InteractionHandler>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "InteractionHandlerStore"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 8,
+                    "file": "InteractionHandlerStore.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                "> | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 338,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "run",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Interaction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 12,
+                        "file": "InteractionHandlerStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "InteractionHandlerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "InteractionHandler",
+                                        "<"
+                                    ],
+                                    [
+                                        "InteractionHandlerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 318,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 7,
+                "file": "InteractionHandlerStore.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "Listener",
+            "description": "The base event class. This class is abstract and is to be extended by subclasses, which should implement the methods. In\nSapphire's workflow, listeners are called when the emitter they listen on emits a new message with the same event name.",
+            "see": [],
+            "extends": [
+                "Piece<O>"
+            ],
+            "examples": [
+                "```typescript\nimport { Events, Listener } from '@sapphire/framework';\n\nexport class CoreListener extends Listener<typeof Events.Ready> {\n  public constructor(context: Listener.Context) {\n    super(context, { event: Events.Ready, once: true });\n  }\n\n  public run() {\n    this.container.client.id ??= this.container.client.user?.id ?? null;\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "O"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Listener",
+                            "<"
+                        ],
+                        [
+                            "E",
+                            ", "
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 47,
+                    "file": "Listener.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "_listener",
+                    "access": "private",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | ("
+                            ],
+                            [
+                                "args",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 45,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "emitter",
+                    "description": "The emitter, if any.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "EventEmitter"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 31,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "event",
+                    "description": "The name of the event the listener listens to.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "symbol"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 37,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "once",
+                    "description": "Whether or not the listener will be unloaded after the first run.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 43,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "_run",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "args",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 102,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "_runOnce",
+                    "access": "private",
+                    "params": [
+                        {
+                            "name": "args",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 110,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 66,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 79,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "run",
+                    "params": [
+                        {
+                            "name": "args",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "E",
+                                        " "
+                                    ],
+                                    [
+                                        "extends",
+                                        " "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "ClientEvents",
+                                        " ? "
+                                    ],
+                                    [
+                                        "ClientEvents",
+                                        "["
+                                    ],
+                                    [
+                                        "E",
+                                        "] : "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 64,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this piece.",
+                    "returns": [
+                        [
+                            [
+                                "ListenerJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 94,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 26,
+                "file": "Listener.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ListenerStore",
+            "extends": [
+                "Store<Listener>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "ListenerStore"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 5,
+                    "file": "ListenerStore.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                "> | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 338,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "ListenerStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Listener",
+                                        "<"
+                                    ],
+                                    [
+                                        "''",
+                                        ", "
+                                    ],
+                                    [
+                                        "ListenerOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 318,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 4,
+                "file": "ListenerStore.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "LoaderError",
+            "description": "Describes a loader error with a type for easy indentification.",
+            "extends": [
+                "Error"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "type",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "LoaderErrorType"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "message",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "string"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "LoaderError"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 17,
+                    "file": "index.d.ts",
+                    "path": "node_modules/@sapphire/pieces/dist"
+                }
+            },
+            "props": [
+                {
+                    "name": "cause",
+                    "type": [
+                        [
+                            [
+                                "Error"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "lib.es2022.error.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "message",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1023,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "stack",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1024,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "type",
+                    "description": "The type of the error that was thrown.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "LoaderErrorType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 16,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "prepareStackTrace",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "err",
+                                ": "
+                            ],
+                            [
+                                "Error",
+                                ", "
+                            ],
+                            [
+                                "stackTraces",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CallSite",
+                                ">) => "
+                            ],
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "stackTraceLimit",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 13,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 18,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "captureStackTrace",
+                    "description": "Create .stack property on a target object",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "targetObject",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "object"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "constructorOpt",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Function"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 12,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "Logger",
+            "implements": [
+                "ILogger"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "level",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "LogLevel"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Logger"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 6,
+                    "file": "Logger.ts",
+                    "path": "src/lib/utils/logger"
+                }
+            },
+            "props": [
+                {
+                    "name": "level",
+                    "type": [
+                        [
+                            [
+                                "LogLevel"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 4,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "levels",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Map",
+                                "<"
+                            ],
+                            [
+                                "LogLevel",
+                                ", "
+                            ],
+                            [
+                                "LogMethods",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 44,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "debug",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Debug} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 18,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "error",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Error} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 30,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "fatal",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Fatal} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 34,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "has",
+                    "description": "Checks whether a level is supported.",
+                    "params": [
+                        {
+                            "name": "level",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "LogLevel"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 10,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "info",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Info} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 22,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "trace",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Trace} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "warn",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Warn} as level.",
+                    "params": [
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                },
+                {
+                    "name": "write",
+                    "description": "Writes the log message given a level and the value(s).",
+                    "params": [
+                        {
+                            "name": "level",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "LogLevel"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "values",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "readonly",
+                                        " "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "unknown",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "Logger.ts",
+                        "path": "src/lib/utils/logger"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 3,
+                "file": "Logger.ts",
+                "path": "src/lib/utils/logger"
+            }
+        },
+        {
+            "name": "MissingExportsError",
+            "description": "Describes a {@link LoaderErrorType.EmptyModule} loader error and adds a path for easy identification.",
+            "extends": [
+                "LoaderError"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "path",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "string"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "MissingExportsError"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 29,
+                    "file": "index.d.ts",
+                    "path": "node_modules/@sapphire/pieces/dist"
+                }
+            },
+            "props": [
+                {
+                    "name": "cause",
+                    "type": [
+                        [
+                            [
+                                "Error"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "lib.es2022.error.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "message",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1023,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "path",
+                    "description": "The path of the module that did not have exports.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "stack",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1024,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "type",
+                    "description": "The type of the error that was thrown.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "LoaderErrorType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 16,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "prepareStackTrace",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "err",
+                                ": "
+                            ],
+                            [
+                                "Error",
+                                ", "
+                            ],
+                            [
+                                "stackTraces",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CallSite",
+                                ">) => "
+                            ],
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "stackTraceLimit",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 13,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 18,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "captureStackTrace",
+                    "description": "Create .stack property on a target object",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "targetObject",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "object"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "constructorOpt",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Function"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 24,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "Piece",
+            "description": "The piece to be stored in {@link Store} instances.",
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "PieceOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Piece",
+                            "<"
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 452,
+                    "file": "index.d.ts",
+                    "path": "node_modules/@sapphire/pieces/dist"
+                }
+            },
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this piece.",
+                    "returns": [
+                        [
+                            [
+                                "PieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 479,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 431,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "Plugin",
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "Plugin"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "[postInitialization]",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "this",
+                                ": "
+                            ],
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "options",
+                                ": "
+                            ],
+                            [
+                                "ClientOptions",
+                                ") => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 10,
+                        "file": "Plugin.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "[postLogin]",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "this",
+                                ": "
+                            ],
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "options",
+                                ": "
+                            ],
+                            [
+                                "ClientOptions",
+                                ") => "
+                            ],
+                            [
+                                "Awaitable",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 12,
+                        "file": "Plugin.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "[preGenericsInitialization]",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "this",
+                                ": "
+                            ],
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "options",
+                                ": "
+                            ],
+                            [
+                                "ClientOptions",
+                                ") => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 8,
+                        "file": "Plugin.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "[preInitialization]",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "this",
+                                ": "
+                            ],
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "options",
+                                ": "
+                            ],
+                            [
+                                "ClientOptions",
+                                ") => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "Plugin.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "[preLogin]",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "this",
+                                ": "
+                            ],
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "options",
+                                ": "
+                            ],
+                            [
+                                "ClientOptions",
+                                ") => "
+                            ],
+                            [
+                                "Awaitable",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "Plugin.ts",
+                        "path": "src/lib/plugins"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 7,
+                "file": "Plugin.ts",
+                "path": "src/lib/plugins"
+            }
+        },
+        {
+            "name": "PluginManager",
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "PluginManager"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "registry",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "SapphirePluginHookEntry",
+                                "<"
+                            ],
+                            [
+                                "SapphirePluginAsyncHook",
+                                " | "
+                            ],
+                            [
+                                "SapphirePluginHook",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 25,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "registerHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "type",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SyncPluginHooks"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "registerPostInitializationHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 43,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "registerPostLoginHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginAsyncHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 51,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "registerPreGenericsInitializationHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 35,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "registerPreInitializationHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 39,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "registerPreLoginHook",
+                    "params": [
+                        {
+                            "name": "hook",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "SapphirePluginAsyncHook"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 47,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "use",
+                    "params": [
+                        {
+                            "name": "plugin",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "typeof",
+                                        " "
+                                    ],
+                                    [
+                                        "Plugin",
+                                        ")"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 55,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                },
+                {
+                    "name": "values",
+                    "returns": [
+                        [
+                            [
+                                "Generator",
+                                "<"
+                            ],
+                            [
+                                "SapphirePluginHookEntry",
+                                "<"
+                            ],
+                            [
+                                "SapphirePluginAsyncHook",
+                                " | "
+                            ],
+                            [
+                                "SapphirePluginHook",
+                                ">, "
+                            ],
+                            [
+                                "void",
+                                ", "
+                            ],
+                            [
+                                "unknown",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 71,
+                        "file": "PluginManager.ts",
+                        "path": "src/lib/plugins"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 24,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            }
+        },
+        {
+            "name": "Precondition",
+            "extends": [
+                "Piece<O>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "context",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PieceContext"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "optional": true,
+                        "default": "{}",
+                        "type": [
+                            [
+                                [
+                                    "PreconditionOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Precondition",
+                            "<"
+                        ],
+                        [
+                            "O",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 16,
+                    "file": "Precondition.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece is enabled.",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 447,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "location",
+                    "description": "The location metadata for the piece's file.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "PieceLocation"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 439,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 443,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "options",
+                    "description": "The raw options passed to this {@link Piece}",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "O"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 451,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "position",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "store",
+                    "description": "The store that contains the piece.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 435,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 457,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "chatInputRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 23,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 25,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "error",
+                    "description": "Constructs a {@link PreconditionError} with the precondition parameter set to `this`.",
+                    "params": [
+                        {
+                            "name": "options",
+                            "description": "The information.",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "Omit",
+                                        "<"
+                                    ],
+                                    [
+                                        "Options",
+                                        ", "
+                                    ],
+                                    [
+                                        "'precondition'",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 35,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "fetchChannelFromInteraction",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "BaseCommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "TextBasedChannel",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 39,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "ok",
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "onLoad",
+                    "description": "Per-piece listener that is called when the piece is loaded into the store.\nUseful to set-up asynchronous initialization tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 462,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "onUnload",
+                    "description": "Per-piece listener that is called when the piece is unloaded from the store.\nUseful to set-up clean-up tasks.",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 467,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reload",
+                    "description": "Reloads the piece by loading the same path in the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 475,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "description": "Defines the `JSON.stringify` behavior of this piece.",
+                    "returns": [
+                        [
+                            [
+                                "PieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 479,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads and disables the piece.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 471,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 13,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "PreconditionContainerArray",
+            "description": "An {@link IPreconditionContainer} that defines an array of multiple {@link IPreconditionContainer}s.",
+            "extendedDescription": "By default, array containers run either of two conditions: AND and OR ({@link PreconditionRunCondition}), the top level\nwill always default to AND, where the nested one flips the logic (OR, then children arrays are AND, then OR...).\n\nThis allows `['Connect', ['Moderator', ['DJ', 'SongAuthor']]]` to become a thrice-nested precondition container, where:\n- Level 1: [Single(Connect), Array] runs AND, both containers must return a successful value.\n- Level 2: [Single(Moderator), Array] runs OR, either container must return a successful value.\n- Level 3: [Single(DJ), Single(SongAuthor)] runs AND, both containers must return a successful value.\n\nIn other words, it is identical to doing:\n```typescript\nConnect && (Moderator || (DJ && SongAuthor));\n```",
+            "see": [],
+            "implements": [
+                "IPreconditionContainer"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "data",
+                        "optional": true,
+                        "default": "[]",
+                        "type": [
+                            [
+                                [
+                                    "PreconditionArrayResolvable"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "parent",
+                        "optional": true,
+                        "default": "null",
+                        "type": [
+                            [
+                                [
+                                    "null",
+                                    " | "
+                                ],
+                                [
+                                    "PreconditionContainerArray"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "PreconditionContainerArray"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 127,
+                    "file": "PreconditionContainerArray.ts",
+                    "path": "src/lib/utils/preconditions"
+                }
+            },
+            "props": [
+                {
+                    "name": "entries",
+                    "description": "The {@link IPreconditionContainer}s the array holds.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 119,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "mode",
+                    "description": "The mode at which this precondition will run.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "PreconditionRunMode"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 113,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "runCondition",
+                    "description": "The {@link PreconditionRunCondition} that defines how entries must be handled.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "PreconditionRunCondition"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 125,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "conditions",
+                    "description": "The preconditions to be run. Extra ones can be added by augmenting {@link PreconditionRunCondition} and then\ninserting {@link IPreconditionCondition}s.",
+                    "see": [],
+                    "scope": "static",
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "PreconditionRunCondition",
+                                ", "
+                            ],
+                            [
+                                "IPreconditionCondition",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 247,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "condition",
+                    "description": "Retrieves a condition from {@link PreconditionContainerArray.conditions}, assuming existence.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "IPreconditionCondition"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 222,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "add",
+                    "description": "Adds a new entry to the array.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "entry",
+                            "description": "The value to add to the entries.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IPreconditionContainer"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerArray"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 149,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "append",
+                    "params": [
+                        {
+                            "name": "keyOrEntries",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContainerArray",
+                                        " | "
+                                    ],
+                                    [
+                                        "SimplePreconditionKeys",
+                                        " | "
+                                    ],
+                                    [
+                                        "SimplePreconditionSingleResolvableDetails"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerArray"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 154,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "chatInputRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the interaction invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 179,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the interaction invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 191,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "message",
+                            "description": "The message that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the message invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 167,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "parse",
+                    "description": "Parses the precondition entry resolvables, and adds them to the entries.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "entries",
+                            "description": "The entries to parse.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Iterable",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionEntryResolvable",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionContainerArray"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 206,
+                        "file": "PreconditionContainerArray.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 108,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            }
+        },
+        {
+            "name": "PreconditionContainerSingle",
+            "description": "An {@link IPreconditionContainer} which runs a single precondition from {@link SapphireClient.preconditions}.",
+            "see": [],
+            "implements": [
+                "IPreconditionContainer"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "data",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PreconditionSingleResolvable"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "PreconditionContainerSingle"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 64,
+                    "file": "PreconditionContainerSingle.ts",
+                    "path": "src/lib/utils/preconditions"
+                }
+            },
+            "props": [
+                {
+                    "name": "context",
+                    "description": "The context to be used when calling {@link Precondition.run}. This will always be an empty object (`{}`) when the\ncontainer was constructed with a string, otherwise it is a direct reference to the value from\n{@link PreconditionSingleResolvableDetails.context}.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Record",
+                                "<"
+                            ],
+                            [
+                                "PropertyKey",
+                                ", "
+                            ],
+                            [
+                                "unknown",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 56,
+                        "file": "PreconditionContainerSingle.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the precondition to run.",
+                    "see": [],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 62,
+                        "file": "PreconditionContainerSingle.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "chatInputRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the interaction invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 97,
+                        "file": "PreconditionContainerSingle.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "description": "The interaction that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the interaction invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 114,
+                        "file": "PreconditionContainerSingle.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "description": "Runs the container.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "message",
+                            "description": "The message that ran this precondition.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "description": "The command the message invoked.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 80,
+                        "file": "PreconditionContainerSingle.ts",
+                        "path": "src/lib/utils/preconditions"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 49,
+                "file": "PreconditionContainerSingle.ts",
+                "path": "src/lib/utils/preconditions"
+            }
+        },
+        {
+            "name": "PreconditionError",
+            "description": "Errors thrown by preconditions",
+            "see": [],
+            "extends": [
+                "UserError"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "description": "Constructs an UserError.",
+                "params": [
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Options"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "PreconditionError"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 11,
+                    "file": "PreconditionError.ts",
+                    "path": "src/lib/errors"
+                }
+            },
+            "props": [
+                {
+                    "name": "cause",
+                    "type": [
+                        [
+                            [
+                                "Error"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "lib.es2022.error.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "context",
+                    "description": "User-provided context.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "identifier",
+                    "description": "An identifier, useful to localize emitted errors.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "message",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1023,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "precondition",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "PreconditionError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "stack",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1024,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "prepareStackTrace",
+                    "description": "Optional override for formatting stack traces",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "err",
+                                ": "
+                            ],
+                            [
+                                "Error",
+                                ", "
+                            ],
+                            [
+                                "stackTraces",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CallSite",
+                                ">) => "
+                            ],
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "stackTraceLimit",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 13,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 17,
+                        "file": "PreconditionError.ts",
+                        "path": "src/lib/errors"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "captureStackTrace",
+                    "description": "Create .stack property on a target object",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "targetObject",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "object"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "constructorOpt",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Function"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 8,
+                "file": "PreconditionError.ts",
+                "path": "src/lib/errors"
+            }
+        },
+        {
+            "name": "PreconditionStore",
+            "extends": [
+                "Store<Precondition>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "returns": [
+                    [
+                        [
+                            "PreconditionStore"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 11,
+                    "file": "PreconditionStore.ts",
+                    "path": "src/lib/structures"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "globalPreconditions",
+                    "access": "private",
+                    "readonly": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "chatInputRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "CommandInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ChatInputCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AsyncPreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 30,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 89,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "contextMenuRun",
+                    "params": [
+                        {
+                            "name": "interaction",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuInteraction",
+                                        "<"
+                                    ],
+                                    [
+                                        "CacheType",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ContextMenuCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AsyncPreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 49,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 80,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                "> | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 338,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "messageRun",
+                    "params": [
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "command",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "MessageCommand"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "optional": true,
+                            "default": "{}",
+                            "type": [
+                                [
+                                    [
+                                        "PreconditionContext"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AsyncPreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 15,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 68,
+                        "file": "PreconditionStore.ts",
+                        "path": "src/lib/structures"
+                    }
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">, "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "PreconditionStore",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 318,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "Precondition",
+                                "<"
+                            ],
+                            [
+                                "PreconditionOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 8,
+                "file": "PreconditionStore.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "SapphireClient",
+            "description": "The base {@link Client} extension that makes Sapphire work. When building a Discord bot with the framework, the developer\nmust either use this class, or extend it.",
+            "extendedDescription": "Sapphire also automatically detects the folders to scan for pieces, please read {@link StoreRegistry.registerPath}\nfor reference. This method is called at the start of the {@link SapphireClient.login} method.",
+            "see": [
+                "{@link SapphireClientOptions} for all options available to the Sapphire Client. You can also provide all of discord.js' [ClientOptions](https://discord.js.org/#/docs/main/stable/typedef/ClientOptions)"
+            ],
+            "extends": [
+                "Client<Ready>"
+            ],
+            "examples": [
+                "```typescript\nconst client = new SapphireClient({\n  presence: {\n    activity: {\n      name: 'for commands!',\n      type: 'LISTENING'\n    }\n  }\n});\n\nclient.login(process.env.DISCORD_TOKEN)\n  .catch(console.error);\n```",
+                "```typescript\n// Automatically scan from a specific directory, e.g. the main\n// file is at `/home/me/bot/index.js` and all your pieces are at\n// `/home/me/bot/pieces` (e.g. `/home/me/bot/pieces/commands/MyCommand.js`):\nconst client = new SapphireClient({\n  baseUserDirectory: join(__dirname, 'pieces'),\n  // More options...\n});\n```",
+                "```typescript\n// Opt-out automatic scanning:\nconst client = new SapphireClient({\n  baseUserDirectory: null,\n  // More options...\n});\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "ClientOptions"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "SapphireClient",
+                            "<"
+                        ],
+                        [
+                            "Ready",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 262,
+                    "file": "SapphireClient.ts",
+                    "path": "src/lib"
+                }
+            },
+            "props": [
+                {
+                    "name": "application",
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "ClientApplication",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 543,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "channels",
+                    "type": [
+                        [
+                            [
+                                "ChannelManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 544,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "disableMentionPrefix",
+                    "description": "Whether the bot has mention as a prefix disabled",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "emojis",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "BaseGuildEmojiManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 545,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchPrefix",
+                    "description": "The method to be overridden by the developer.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "SapphirePrefixHook"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 237,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "guilds",
+                    "type": [
+                        [
+                            [
+                                "GuildManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 546,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "id",
+                    "description": "The client's ID, used for the user prefix.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "default": "null",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 207,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The logger to be used by the framework and plugins. By default, a {@link Logger} instance is used, which emits the\nmessages to the console.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "ILogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 244,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "options",
+                    "type": [
+                        [
+                            [
+                                "ClientOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 547,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "readyAt",
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "Date",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 548,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "readyTimestamp",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "number",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 549,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "shard",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "ShardClientUtil"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 551,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "stores",
+                    "description": "The registered stores.",
+                    "see": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 260,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "sweepers",
+                    "type": [
+                        [
+                            [
+                                "Sweepers"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 550,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "token",
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 552,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "uptime",
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "number",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 553,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "user",
+                    "type": [
+                        [
+                            [
+                                "If",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ", "
+                            ],
+                            [
+                                "ClientUser",
+                                ", "
+                            ],
+                            [
+                                "null",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 554,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "users",
+                    "type": [
+                        [
+                            [
+                                "UserManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 555,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "voice",
+                    "type": [
+                        [
+                            [
+                                "ClientVoiceManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 556,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "ws",
+                    "type": [
+                        [
+                            [
+                                "WebSocketManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 557,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "captureRejectionSymbol",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "captureRejectionSymbol",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 301,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "captureRejections",
+                    "description": "Sets or gets the default captureRejection value for all emitters.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 306,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "defaultMaxListeners",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 307,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "errorMonitor",
+                    "description": "This symbol shall be used to install a listener for only monitoring `'error'`\nevents. Listeners installed using this symbol are called before the regular\n`'error'` listeners are called.",
+                    "extendedDescription": "Installing a listener using this symbol does not change the behavior once an\n`'error'` event is emitted, therefore the process will still crash if no\nregular `'error'` listener is installed.",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "errorMonitor",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 300,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "plugins",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "PluginManager"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 345,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "addListener",
+                    "description": "Alias for `emitter.on(eventName, listener)`.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "any",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "destroy",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 558,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "emit",
+                    "params": [
+                        {
+                            "name": "event",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "args",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ClientEvents",
+                                        "["
+                                    ],
+                                    [
+                                        "K",
+                                        "]"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 586,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "eventNames",
+                    "description": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or `Symbol`s.",
+                    "extendDescription": "```js\nconst EventEmitter = require('events');\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "symbol",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "fetchGuildPreview",
+                    "params": [
+                        {
+                            "name": "guild",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "GuildResolvable"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "GuildPreview",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 559,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchGuildTemplate",
+                    "params": [
+                        {
+                            "name": "template",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "GuildTemplate",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 561,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchGuildWidget",
+                    "params": [
+                        {
+                            "name": "guild",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "GuildResolvable"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Widget",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 566,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchInvite",
+                    "params": [
+                        {
+                            "name": "invite",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "ClientFetchInviteOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Invite",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 560,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchPremiumStickerPacks",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "StickerPack",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 564,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchSticker",
+                    "params": [
+                        {
+                            "name": "id",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Sticker",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 563,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchVoiceRegions",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "VoiceRegion",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 562,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "fetchWebhook",
+                    "params": [
+                        {
+                            "name": "id",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "token",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Webhook",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 565,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "generateInvite",
+                    "params": [
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "InviteGenerationOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 567,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "getMaxListeners",
+                    "description": "Returns the current max listener value for the `EventEmitter` which is either\nset by `emitter.setMaxListeners(n)` or defaults to {@link defaultMaxListeners}.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "isReady",
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Client",
+                                "<"
+                            ],
+                            [
+                                "true",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 569,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "listenerCount",
+                    "description": "Returns the number of listeners listening to the event named `eventName`.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "description": "The name of the event being listened for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "listeners",
+                    "description": "Returns a copy of the array of listeners for the event named `eventName`.",
+                    "extendDescription": "```js\nserver.on('connection', (stream) => {\n  console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Function",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "login",
+                    "description": "Loads all pieces, then logs the client in, establishing a websocket connection to Discord.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "token",
+                            "description": "Token of the account to log in with.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Token of the account used.",
+                    "meta": {
+                        "line": 320,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                },
+                {
+                    "name": "off",
+                    "params": [
+                        {
+                            "name": "event",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "ClientEvents",
+                                        "["
+                                    ],
+                                    [
+                                        "K",
+                                        "]) => "
+                                    ],
+                                    [
+                                        "Awaitable",
+                                        "<"
+                                    ],
+                                    [
+                                        "void",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 589,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "on",
+                    "params": [
+                        {
+                            "name": "event",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "ClientEvents",
+                                        "["
+                                    ],
+                                    [
+                                        "K",
+                                        "]) => "
+                                    ],
+                                    [
+                                        "Awaitable",
+                                        "<"
+                                    ],
+                                    [
+                                        "void",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 574,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "once",
+                    "params": [
+                        {
+                            "name": "event",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "ClientEvents",
+                                        "["
+                                    ],
+                                    [
+                                        "K",
+                                        "]) => "
+                                    ],
+                                    [
+                                        "Awaitable",
+                                        "<"
+                                    ],
+                                    [
+                                        "void",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 580,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "prependListener",
+                    "description": "Adds the `listener` function to the _beginning_ of the listeners array for the\nevent named `eventName`. No checks are made to see if the `listener` has\nalready been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple\ntimes.",
+                    "extendDescription": "```js\nserver.prependListener('connection', (stream) => {\n  console.log('someone connected!');\n});\n```\n\nReturns a reference to the `EventEmitter`, so that calls can be chained.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "description": "The name of the event.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "description": "The callback function",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "any",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prependOnceListener",
+                    "description": "Adds a **one-time**`listener` function for the event named `eventName` to the_beginning_ of the listeners array. The next time `eventName` is triggered, this\nlistener is removed, and then invoked.",
+                    "extendDescription": "```js\nserver.prependOnceListener('connection', (stream) => {\n  console.log('Ah, we have our first user!');\n});\n```\n\nReturns a reference to the `EventEmitter`, so that calls can be chained.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "description": "The name of the event.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "description": "The callback function",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "any",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "rawListeners",
+                    "description": "Returns a copy of the array of listeners for the event named `eventName`,\nincluding any wrappers (such as those created by `.once()`).",
+                    "extendDescription": "```js\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Function",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "removeAllListeners",
+                    "params": [
+                        {
+                            "name": "event",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 595,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "removeListener",
+                    "description": "Removes the specified `listener` from the listener array for the event named`eventName`.",
+                    "extendDescription": "```js\nconst callback = (stream) => {\n  console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```\n\n`removeListener()` will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified `eventName`, then `removeListener()` must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any`removeListener()` or `removeAllListeners()` calls _after_ emitting and_before_ the last listener finishes execution will\nnot remove them from`emit()` in progress. Subsequent events behave as expected.\n\n```js\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n  console.log('A');\n  myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n  console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n//   A\n//   B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n//   A\n```\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe `emitter.listeners()` method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), `removeListener()` will remove the most\nrecently added instance. In the example the `once('ping')`listener is removed:\n\n```js\nconst ee = new EventEmitter();\n\nfunction pong() {\n  console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```\n\nReturns a reference to the `EventEmitter`, so that calls can be chained.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "eventName",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "listener",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "args",
+                                        ": "
+                                    ],
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "any",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "setMaxListeners",
+                    "description": "By default `EventEmitter`s will print a warning if more than `10` listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The `emitter.setMaxListeners()` method allows the limit to be\nmodified for this specific `EventEmitter` instance. The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.",
+                    "extendDescription": "Returns a reference to the `EventEmitter`, so that calls can be chained.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "n",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "Ready",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "sweepMessages",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": true,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "lifetime",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 571,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 572,
+                        "file": "index.d.ts",
+                        "path": "node_modules/discord.js/typings"
+                    }
+                },
+                {
+                    "name": "getEventListeners",
+                    "description": "Returns a copy of the array of listeners for the event named `eventName`.",
+                    "extendDescription": "For `EventEmitter`s this behaves exactly the same as calling `.listeners` on\nthe emitter.\n\nFor `EventTarget`s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n```js\nconst { getEventListeners, EventEmitter } = require('events');\n\n{\n  const ee = new EventEmitter();\n  const listener = () => console.log('Events are fun');\n  ee.on('foo', listener);\n  getEventListeners(ee, 'foo'); // [listener]\n}\n{\n  const et = new EventTarget();\n  const listener = () => console.log('Events are fun');\n  et.addEventListener('foo', listener);\n  getEventListeners(et, 'foo'); // [listener]\n}\n```",
+                    "see": [],
+                    "scope": "static",
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "emitter",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "EventEmitter",
+                                        " | "
+                                    ],
+                                    [
+                                        "DOMEventTarget"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Function",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 270,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "listenerCount",
+                    "description": "A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.",
+                    "extendDescription": "```js\nconst { EventEmitter, listenerCount } = require('events');\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```",
+                    "see": [],
+                    "scope": "static",
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": true,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "emitter",
+                            "description": "The emitter to query",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "EventEmitter"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "eventName",
+                            "description": "The event name",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "on",
+                    "description": "```js\nconst { on, EventEmitter } = require('events');",
+                    "extendDescription": "(async () => {\n  const ee = new EventEmitter();\n\n  // Emit later on\n  process.nextTick(() => {\n    ee.emit('foo', 'bar');\n    ee.emit('foo', 42);\n  });\n\n  for await (const event of on(ee, 'foo')) {\n    // The execution of this inner block is synchronous and it\n    // processes one event at a time (even with await). Do not use\n    // if concurrent execution is required.\n    console.log(event); // prints ['bar'] [42]\n  }\n  // Unreachable here\n})();\n```\n\nReturns an `AsyncIterator` that iterates `eventName` events. It will throw\nif the `EventEmitter` emits `'error'`. It removes all listeners when\nexiting the loop. The `value` returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn `AbortSignal` can be used to cancel waiting on events:\n\n```js\nconst { on, EventEmitter } = require('events');\nconst ac = new AbortController();\n\n(async () => {\n  const ee = new EventEmitter();\n\n  // Emit later on\n  process.nextTick(() => {\n    ee.emit('foo', 'bar');\n    ee.emit('foo', 42);\n  });\n\n  for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n    // The execution of this inner block is synchronous and it\n    // processes one event at a time (even with await). Do not use\n    // if concurrent execution is required.\n    console.log(event); // prints ['bar'] [42]\n  }\n  // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```",
+                    "see": [],
+                    "scope": "static",
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "emitter",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "EventEmitter"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "eventName",
+                            "description": "The name of the event being listened for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "StaticEventEmitterOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "AsyncIterableIterator",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "that iterates `eventName` events emitted by the `emitter`",
+                    "meta": {
+                        "line": 221,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "once",
+                    "description": "Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given\nevent or that is rejected if the `EventEmitter` emits `'error'` while waiting.\nThe `Promise` will resolve with an array of all the arguments emitted to the\ngiven event.",
+                    "extendDescription": "This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event\nsemantics and does not listen to the `'error'` event.\n\n```js\nconst { once, EventEmitter } = require('events');\n\nasync function run() {\n  const ee = new EventEmitter();\n\n  process.nextTick(() => {\n    ee.emit('myevent', 42);\n  });\n\n  const [value] = await once(ee, 'myevent');\n  console.log(value);\n\n  const err = new Error('kaboom');\n  process.nextTick(() => {\n    ee.emit('error', err);\n  });\n\n  try {\n    await once(ee, 'myevent');\n  } catch (err) {\n    console.log('error happened', err);\n  }\n}\n\nrun();\n```\n\nThe special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the\n'`error'` event itself, then it is treated as any other kind of event without\nspecial handling:\n\n```js\nconst { EventEmitter, once } = require('events');\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n  .then(([err]) => console.log('ok', err.message))\n  .catch((err) => console.log('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```\n\nAn `AbortSignal` can be used to cancel waiting for the event:\n\n```js\nconst { EventEmitter, once } = require('events');\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n  try {\n    await once(emitter, event, { signal });\n    console.log('event emitted!');\n  } catch (error) {\n    if (error.name === 'AbortError') {\n      console.error('Waiting for the event was canceled!');\n    } else {\n      console.error('There was an error', error.message);\n    }\n  }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```",
+                    "see": [],
+                    "scope": "static",
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "emitter",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "NodeEventTarget"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "eventName",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "symbol"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "options",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "StaticEventEmitterOptions"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 157,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "setMaxListeners",
+                    "description": "By default `EventEmitter`s will print a warning if more than `10` listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The `EventEmitter.setMaxListeners()` method allows the default limit to be\nmodified (if eventTargets is empty) or modify the limit specified in every `EventTarget` | `EventEmitter` passed as arguments.\nThe value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.",
+                    "extendDescription": "```js\nEventEmitter.setMaxListeners(20);\n// Equivalent to\nEventEmitter.defaultMaxListeners = 20;\n\nconst eventTarget = new EventTarget();\n// Only way to increase limit for `EventTarget` instances\n// as these doesn't expose its own `setMaxListeners` method\nEventEmitter.setMaxListeners(20, eventTarget);\n```",
+                    "see": [],
+                    "scope": "static",
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "n",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "eventTargets",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "EventEmitter",
+                                        " | "
+                                    ],
+                                    [
+                                        "DOMEventTarget",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 290,
+                        "file": "events.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "use",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "plugin",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "typeof",
+                                        " "
+                                    ],
+                                    [
+                                        "Plugin",
+                                        ")"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "SapphireClient",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 347,
+                        "file": "SapphireClient.ts",
+                        "path": "src/lib"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 202,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            }
+        },
+        {
+            "name": "Store",
+            "description": "The store class which contains {@link Piece}s.",
+            "extends": [
+                "Collection<string, T>"
+            ],
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "constructor",
+                        "description": "The piece constructor this store loads.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Constructor",
+                                    "<"
+                                ],
+                                [
+                                    "T",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    },
+                    {
+                        "name": "options",
+                        "description": "The options for the store.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "StoreOptions",
+                                    "<"
+                                ],
+                                [
+                                    "T",
+                                    ">"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "Store",
+                            "<"
+                        ],
+                        [
+                            "T",
+                            ">"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 289,
+                    "file": "index.d.ts",
+                    "path": "node_modules/@sapphire/pieces/dist"
+                }
+            },
+            "props": [
+                {
+                    "name": "Constructor",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Constructor",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 281,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hydrateModuleData",
+                    "description": "Adds the final module data properties.",
+                    "see": [],
+                    "access": "private",
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 352,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadPath",
+                    "description": "Loads a directory into the store.",
+                    "see": [],
+                    "access": "private",
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 358,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 282,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "paths",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "Set",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "strategy",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 284,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "walk",
+                    "description": "Retrieves all possible pieces.",
+                    "see": [],
+                    "access": "private",
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 364,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "defaultStrategy",
+                    "description": "The default strategy, defaults to {@link LoaderStrategy}, which is constructed on demand when a store is constructed,\nwhen none was set beforehand.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "any",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 369,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "logger",
+                    "description": "The default logger, defaults to `null`.",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 373,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "container",
+                    "description": "A reference to the {@link Container} object for ease of use.",
+                    "see": [
+                        "container"
+                    ],
+                    "readonly": true,
+                    "abstract": false,
+                    "deprecated": false,
+                    "type": [
+                        [
+                            [
+                                "Container"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 294,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "construct",
+                    "description": "Constructs a {@link Piece} instance.",
+                    "params": [
+                        {
+                            "name": "Ctor",
+                            "description": "The {@link Piece}'s constructor used to build the instance.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ILoaderResultEntry",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "data",
+                            "description": "The module's information",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "HydratedModuleData"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "An instance of the constructed piece.",
+                    "meta": {
+                        "line": 345,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                " | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "insert",
+                    "description": "Inserts a piece into the store.",
+                    "params": [
+                        {
+                            "name": "piece",
+                            "description": "The piece to be inserted into the store.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The inserted piece.",
+                    "meta": {
+                        "line": 338,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads one or more pieces from a path.",
+                    "params": [
+                        {
+                            "name": "root",
+                            "description": "The root directory the file is from.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "path",
+                            "description": "The path of the file to load, relative to the `root`.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "All the loaded pieces.",
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "loadAll",
+                    "description": "Loads all pieces from all directories specified by {@link paths}.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 326,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "T",
+                                ">]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers a directory into the store.",
+                    "see": [],
+                    "examples": [
+                        "```typescript\nstore\n  .registerPath(resolve('commands'))\n  .registerPath(resolve('third-party', 'commands'));\n```"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "path",
+                            "description": "The path to be added.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 305,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "resolve",
+                    "description": "Resolves a piece by its name or its instance.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the piece or the instance itself.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The resolved piece.",
+                    "meta": {
+                        "line": 332,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "string",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "unload",
+                    "description": "Unloads a piece given its instance or its name.",
+                    "params": [
+                        {
+                            "name": "name",
+                            "description": "The name of the file to load.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string",
+                                        " | "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Returns the piece that was unloaded.",
+                    "meta": {
+                        "line": 318,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "unloadAll",
+                    "description": "Unloads all pieces from the store.",
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">>"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 322,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 280,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "StoreRegistry",
+            "description": "A strict-typed store registry. This is available in {@link container}.",
+            "see": [],
+            "extends": [
+                "Collection<Key, Value>"
+            ],
+            "examples": [
+                "```typescript\n// Adding new stores\n\n// Register the store:\ncontainer.stores.register(new RouteStore());\n\n// Augment Sapphire to add the new store, in case of a JavaScript\n// project, this can be moved to an `Augments.d.ts` (or any other name)\n// file somewhere:\ndeclare module '@sapphire/pieces' {\n  export interface StoreRegistryEntries {\n    routes: RouteStore;\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "params": [
+                    {
+                        "name": "entries",
+                        "optional": true,
+                        "type": [
+                            [
+                                [
+                                    "null",
+                                    " | "
+                                ],
+                                [
+                                    "readonly",
+                                    " "
+                                ],
+                                [
+                                    "Array",
+                                    "<"
+                                ],
+                                [
+                                    "readonly",
+                                    " ["
+                                ],
+                                [
+                                    "keyof",
+                                    " "
+                                ],
+                                [
+                                    "StoreRegistryEntries",
+                                    ", "
+                                ],
+                                [
+                                    "Value",
+                                    "]>"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "StoreRegistry"
+                        ]
+                    ]
+                ]
+            },
+            "props": [
+                {
+                    "name": "[toStringTag]",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 135,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "constructor",
+                    "type": [
+                        [
+                            [
+                                "CollectionConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 21,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "size",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "lib.es2015.collection.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "[species]",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "MapConstructor"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 317,
+                        "file": "lib.es2015.symbol.wellknown.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "default",
+                    "scope": "static",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "typeof",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                ")"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "[iterator]",
+                    "description": "Returns an iterable of entries in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "at",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the item at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the element to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Value"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "clear",
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "clone",
+                    "description": "Creates an identical shallow copy of this collection.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.clone();"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 320,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "concat",
+                    "description": "Combines this collection with others into a new collection. None of the source collections are modified.",
+                    "see": [],
+                    "examples": [
+                        "const newColl = someColl.concat(someOtherColl, anotherColl, ohBoyAColl);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "collections",
+                            "description": "Collections to merge",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "Value",
+                                        ">>"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 329,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "delete",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "deregister",
+                    "description": "Deregisters a store.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "store",
+                            "description": "The store to deregister.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 553,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "difference",
+                    "description": "The difference method returns a new structure containing items where the key is present in one of the original structures but not the other.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                " | "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 363,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "each",
+                    "description": "Identical to\n[Map.forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach),\nbut returns the collection instead of undefined.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .each(user => console.log(user.username))\n .filter(user => user.bot)\n .each(user => console.log(user.username));"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute for each element",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 298,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "ensure",
+                    "description": "Obtains the value of the given key if it exists, otherwise sets and returns the value provided by the default value generator.",
+                    "see": [],
+                    "examples": [
+                        "collection.ensure(guildId, () => defaultGuildConfig);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "key",
+                            "description": "The key to get if it exists, or set otherwise",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "defaultValueGenerator",
+                            "description": "A function that generates the default value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Value"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Value"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 38,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "entries",
+                    "description": "Returns an iterable of key, value pairs for every entry in the map.",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<["
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "equals",
+                    "description": "Checks if this collection shares identical items with another.\nThis is different to checking for equality using equal-signs, because\nthe collections may be different objects, but contain the same data.",
+                    "params": [
+                        {
+                            "name": "collection",
+                            "description": "Collection to compare with",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "Value",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "Whether the collections have identical contents",
+                    "meta": {
+                        "line": 339,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "every",
+                    "description": "Checks if all items passes a test. Identical in behavior to\n[Array.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every).",
+                    "see": [],
+                    "examples": [
+                        "collection.every(user => !user.bot);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "this",
+                                " "
+                            ],
+                            [
+                                "is",
+                                " "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 266,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "filter",
+                    "description": "Identical to\n[Array.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\nbut returns a Collection instead of an Array.",
+                    "see": [],
+                    "examples": [
+                        "collection.filter(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 186,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "find",
+                    "description": "Searches for a single item where the given function returns a truthy value. This behaves like\n[Array.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find).\n<warn>All collections used in Discord.js are mapped using their `id` property, and if you want to find by id you\nshould use the `get` method. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) for details.</warn>",
+                    "see": [],
+                    "examples": [
+                        "collection.find(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "value",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "V2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "V2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 146,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "findKey",
+                    "description": "Searches for the key of a single item where the given function returns a truthy value. This behaves like\n[Array.findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex),\nbut returns the key rather than the positional index.",
+                    "see": [],
+                    "examples": [
+                        "collection.findKey(user => user.username === 'Bob');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "The function to test with (should return boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "K2"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 161,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "first",
+                    "description": "Obtains the first value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Value"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the end if amount is negative",
+                    "meta": {
+                        "line": 62,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "firstKey",
+                    "description": "Obtains the first key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the end if\namount is negative",
+                    "meta": {
+                        "line": 72,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "flatMap",
+                    "description": "Maps each item into a Collection, then joins the results into a single Collection. Identical in behavior to\n[Array.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap).",
+                    "see": [],
+                    "examples": [
+                        "collection.flatMap(guild => guild.members.cache);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces a new Collection",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "Collection",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 218,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "forEach",
+                    "params": [
+                        {
+                            "name": "callbackfn",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "map",
+                                        ": "
+                                    ],
+                                    [
+                                        "Map",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "Value",
+                                        ">) => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "thisArg",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "any"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "get",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "K"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistryEntries",
+                                "["
+                            ],
+                            [
+                                "K",
+                                "]"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "true"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hasAll",
+                    "description": "Checks if all of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if all of the elements exist, `false` if at least one does not exist.",
+                    "meta": {
+                        "line": 46,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "hasAny",
+                    "description": "Checks if any of the elements exist in the collection.",
+                    "params": [
+                        {
+                            "name": "keys",
+                            "description": "The keys of the elements to check for",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "`true` if any of the elements exist, `false` if none exist.",
+                    "meta": {
+                        "line": 54,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "intersect",
+                    "description": "The intersect method returns a new structure containing items where the keys and values are present in both original structures.",
+                    "params": [
+                        {
+                            "name": "other",
+                            "description": "The other Collection to filter against",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "ReadonlyCollection",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 357,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keyAt",
+                    "description": "Identical to [Array.at()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at).\nReturns the key at a given index, allowing for positive and negative integers.\nNegative integers count back from the last item in the collection.",
+                    "params": [
+                        {
+                            "name": "index",
+                            "description": "The index of the key to obtain",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "number"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 109,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "keys",
+                    "description": "Returns an iterable of keys in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "last",
+                    "description": "Obtains the last value(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Value"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 82,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "lastKey",
+                    "description": "Obtains the last key(s) in this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array of keys, starting from the start if\namount is negative",
+                    "meta": {
+                        "line": 92,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "load",
+                    "description": "Loads all the registered stores.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "returns": [
+                        [
+                            [
+                                "Promise",
+                                "<"
+                            ],
+                            [
+                                "void",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 516,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "map",
+                    "description": "Maps each item to another value into an array. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.map(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new array, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 230,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "mapValues",
+                    "description": "Maps each item to another value into a collection. Identical in behavior to\n[Array.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map).",
+                    "see": [],
+                    "examples": [
+                        "collection.mapValues(user => user.tag);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function that produces an element of the new collection, taking three arguments",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 242,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "partition",
+                    "description": "Partitions the collection into two collections where the first collection\ncontains the items that passed and the second contains the items that failed.",
+                    "see": [],
+                    "examples": [
+                        "const [big, small] = collection.partition(guild => guild.memberCount > 250);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "key",
+                                        " "
+                                    ],
+                                    [
+                                        "is",
+                                        " "
+                                    ],
+                                    [
+                                        "K2"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "["
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "K2",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">, "
+                            ],
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "'arguments'",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                "> | "
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "'commands'",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                "> | "
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "'interaction",
+                                "-"
+                            ],
+                            [
+                                "handlers'",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                "> | "
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "'listeners'",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                "> | "
+                            ],
+                            [
+                                "Exclude",
+                                "<"
+                            ],
+                            [
+                                "'preconditions'",
+                                ", "
+                            ],
+                            [
+                                "K2",
+                                ">, "
+                            ],
+                            [
+                                "Value",
+                                ">]"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 202,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "random",
+                    "description": "Obtains unique random value(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "Value"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single value if no amount is provided or an array of values",
+                    "meta": {
+                        "line": 117,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "randomKey",
+                    "description": "Obtains unique random key(s) from this collection.",
+                    "returns": [
+                        [
+                            [
+                                "undefined",
+                                " | "
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "A single key if no amount is provided or an array",
+                    "meta": {
+                        "line": 126,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "reduce",
+                    "description": "Applies a function to produce a single value. Identical in behavior to\n[Array.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce).",
+                    "see": [],
+                    "examples": [
+                        "collection.reduce((acc, guild) => acc + guild.memberCount, 0);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to reduce, taking four arguments; `accumulator`, `currentValue`, `currentKey`,\nand `collection`",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "accumulator",
+                                        ": "
+                                    ],
+                                    [
+                                        "T",
+                                        ", "
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "initialValue",
+                            "description": "Starting value for the accumulator",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "T"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 283,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "register",
+                    "description": "Registers a store.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "store",
+                            "description": "The store to register.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Store",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 547,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "registerPath",
+                    "description": "Registers all user directories from the process working directory, the default value is obtained by assuming\nCommonJS (high accuracy) but with fallback for ECMAScript Modules (reads package.json's `main` entry, fallbacks\nto `process.cwd()`).",
+                    "extendDescription": "By default, if you have this folder structure:\n```\n/home/me/my-bot\nβ”œβ”€ src\nβ”‚  β”œβ”€ commands\nβ”‚  β”œβ”€ events\nβ”‚  └─ main.js\n└─ package.json\n```\n\nAnd you run `node src/main.js`, the directories `/home/me/my-bot/src/commands` and `/home/me/my-bot/src/events` will\nbe registered for the commands and events stores respectively, since both directories are located in the same\ndirectory as your main file.\n\n**Note**: this also registers directories for all other stores, even if they don't have a folder, this allows you\nto create new pieces and hot-load them later anytime.",
+                    "see": [],
+                    "examples": [],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "rootDirectory",
+                            "description": "The root directory to register pieces at.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 541,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    }
+                },
+                {
+                    "name": "reverse",
+                    "description": "Identical to [Array.reverse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\nbut returns a Collection instead of an Array.",
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 132,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "set",
+                    "params": [
+                        {
+                            "name": "key",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "value",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Value"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "some",
+                    "description": "Checks if there exists an item that passes a test. Identical in behavior to\n[Array.some()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).",
+                    "see": [],
+                    "examples": [
+                        "collection.some(user => user.discriminator === '0000');"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 254,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sort",
+                    "description": "The sort method sorts the items of a collection in place and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sort((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value, according to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "Value",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 351,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sorted",
+                    "description": "The sorted method sorts the items of a collection and returns it.\nThe sort is not necessarily stable in Node 10 or older.\nThe default sort order is according to string Unicode code points.",
+                    "see": [],
+                    "examples": [
+                        "collection.sorted((userA, userB) => userA.createdTimestamp - userB.createdTimestamp);"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "compareFunction",
+                            "description": "Specifies a function that defines the sort order.\nIf omitted, the collection is sorted according to each character's Unicode code point value,\naccording to the string conversion of each element.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Comparator",
+                                        "<"
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "Value",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "Collection",
+                                "<"
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "StoreRegistryEntries",
+                                ", "
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 376,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "sweep",
+                    "description": "Removes items that satisfy the provided filter function.",
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function used to test (should return a boolean)",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "value",
+                                        ": "
+                                    ],
+                                    [
+                                        "Value",
+                                        ", "
+                                    ],
+                                    [
+                                        "key",
+                                        ": "
+                                    ],
+                                    [
+                                        "keyof",
+                                        " "
+                                    ],
+                                    [
+                                        "StoreRegistryEntries",
+                                        ", "
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "returnsDescription": "The number of removed entries",
+                    "meta": {
+                        "line": 173,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "tap",
+                    "description": "Runs a function on the collection and returns the collection.",
+                    "see": [],
+                    "examples": [
+                        "collection\n .tap(coll => console.log(coll.size))\n .filter(user => user.bot)\n .tap(coll => console.log(coll.size))"
+                    ],
+                    "abstract": false,
+                    "deprecated": false,
+                    "emits": [],
+                    "params": [
+                        {
+                            "name": "fn",
+                            "description": "Function to execute",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "("
+                                    ],
+                                    [
+                                        "collection",
+                                        ": "
+                                    ],
+                                    [
+                                        "StoreRegistry",
+                                        ") => "
+                                    ],
+                                    [
+                                        "void"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "StoreRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 312,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "toJSON",
+                    "returns": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@discordjs/collection/dist"
+                    }
+                },
+                {
+                    "name": "values",
+                    "description": "Returns an iterable of values in the map",
+                    "returns": [
+                        [
+                            [
+                                "IterableIterator",
+                                "<"
+                            ],
+                            [
+                                "Value",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 511,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "UserError",
+            "description": "The UserError class to be emitted in the pieces.",
+            "see": [],
+            "extends": [
+                "Error"
+            ],
+            "examples": [],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "description": "Constructs an UserError.",
+                "params": [
+                    {
+                        "name": "options",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "Options"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "UserError"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 21,
+                    "file": "UserError.ts",
+                    "path": "src/lib/errors"
+                }
+            },
+            "props": [
+                {
+                    "name": "cause",
+                    "type": [
+                        [
+                            [
+                                "Error"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "lib.es2022.error.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "context",
+                    "description": "User-provided context.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 14,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "identifier",
+                    "description": "An identifier, useful to localize emitted errors.",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 9,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                },
+                {
+                    "name": "message",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1023,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "stack",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 1024,
+                        "file": "lib.es5.d.ts",
+                        "path": "node_modules/typescript/lib"
+                    }
+                },
+                {
+                    "name": "prepareStackTrace",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "err",
+                                ": "
+                            ],
+                            [
+                                "Error",
+                                ", "
+                            ],
+                            [
+                                "stackTraces",
+                                ": "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CallSite",
+                                ">) => "
+                            ],
+                            [
+                                "any"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 11,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "stackTraceLimit",
+                    "scope": "static",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 13,
+                        "file": "globals.d.ts",
+                        "path": "node_modules/@types/node"
+                    }
+                },
+                {
+                    "name": "name",
+                    "readonly": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 28,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    }
+                }
+            ],
+            "methods": [
+                {
+                    "name": "captureStackTrace",
+                    "description": "Create .stack property on a target object",
+                    "scope": "static",
+                    "params": [
+                        {
+                            "name": "targetObject",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "object"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "constructorOpt",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Function"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ],
+                    "returns": [
+                        [
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 5,
+                "file": "UserError.ts",
+                "path": "src/lib/errors"
+            }
+        },
+        {
+            "name": "UserPermissionsPrecondition",
+            "description": "Constructs a contextful permissions precondition requirement.",
+            "see": [],
+            "implements": [
+                "PreconditionSingleResolvableDetails<'UserPermissions'>"
+            ],
+            "examples": [
+                "```typescript\nexport class CoreCommand extends Command {\n  public constructor(context: PieceContext) {\n    super(context, {\n      preconditions: [\n        'GuildOnly',\n        new UserPermissionsPrecondition('ADD_REACTIONS')\n      ]\n    });\n  }\n\n  public messageRun(message: Message, args: Args) {\n    // ...\n  }\n}\n```"
+            ],
+            "abstract": false,
+            "deprecated": false,
+            "construct": {
+                "name": "constructor",
+                "description": "Constructs a precondition container entry.",
+                "params": [
+                    {
+                        "name": "permissions",
+                        "description": "The permissions that will be required by this command.",
+                        "optional": false,
+                        "type": [
+                            [
+                                [
+                                    "PermissionResolvable"
+                                ]
+                            ]
+                        ]
+                    }
+                ],
+                "returns": [
+                    [
+                        [
+                            "UserPermissionsPrecondition"
+                        ]
+                    ]
+                ],
+                "meta": {
+                    "line": 33,
+                    "file": "UserPermissionsPrecondition.ts",
+                    "path": "src/lib/utils/preconditions/containers"
+                }
+            },
+            "props": [
+                {
+                    "name": "context",
+                    "description": "The context to be set at {@link PreconditionContainerSingle.context}.",
+                    "type": [
+                        [
+                            [
+                                "{"
+                            ],
+                            [
+                                "\npermissions",
+                                ": "
+                            ],
+                            [
+                                "Permissions\n",
+                                "}"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 27,
+                        "file": "UserPermissionsPrecondition.ts",
+                        "path": "src/lib/utils/preconditions/containers"
+                    }
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the precondition to retrieve from {@link SapphireClient.preconditions}.",
+                    "type": [
+                        [
+                            [
+                                "'UserPermissions'"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 26,
+                        "file": "UserPermissionsPrecondition.ts",
+                        "path": "src/lib/utils/preconditions/containers"
+                    }
+                }
+            ],
+            "meta": {
+                "line": 25,
+                "file": "UserPermissionsPrecondition.ts",
+                "path": "src/lib/utils/preconditions/containers"
+            }
+        }
+    ],
+    "typedefs": [
+        {
+            "name": "BucketScope",
+            "description": "The scope the cooldown applies to.",
+            "meta": {
+                "line": 18,
+                "file": "Enums.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Channel",
+                    "description": "Per channel cooldowns.",
+                    "type": [
+                        [
+                            [
+                                "0"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Global",
+                    "description": "Global cooldowns.",
+                    "type": [
+                        [
+                            [
+                                "1"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Guild",
+                    "description": "Per guild cooldowns.",
+                    "type": [
+                        [
+                            [
+                                "2"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "User",
+                    "description": "Per user cooldowns.",
+                    "type": [
+                        [
+                            [
+                                "3"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandOptionsRunTypeEnum",
+            "description": "The allowed values for {@link Command.Options.runIn} as an enum.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 557,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Dm",
+                    "type": [
+                        [
+                            [
+                                "\"DM\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildAny",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_ANY\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNews",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_NEWS\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNewsThread",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_NEWS_THREAD\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPrivateThread",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_PRIVATE_THREAD\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPublicThread",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_PUBLIC_THREAD\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildText",
+                    "type": [
+                        [
+                            [
+                                "\"GUILD_TEXT\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandPreConditions",
+            "description": "The available command pre-conditions.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 571,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "ClientPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"ClientPermissions\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Cooldown",
+                    "type": [
+                        [
+                            [
+                                "\"Cooldown\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "DirectMessageOnly",
+                    "type": [
+                        [
+                            [
+                                "\"DMOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNewsOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildNewsOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNewsThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildNewsThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPrivateThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildPrivateThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPublicThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildPublicThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildTextOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildTextOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"GuildThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "NotSafeForWork",
+                    "type": [
+                        [
+                            [
+                                "\"NSFW\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "UserPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"UserPermissions\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CooldownLevel",
+            "meta": {
+                "line": 1,
+                "file": "Enums.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Author",
+                    "type": [
+                        [
+                            [
+                                "\"author\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Channel",
+                    "type": [
+                        [
+                            [
+                                "\"channel\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Guild",
+                    "type": [
+                        [
+                            [
+                                "\"guild\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "Identifiers",
+            "meta": {
+                "line": 1,
+                "file": "Identifiers.ts",
+                "path": "src/lib/errors"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "ArgsMissing",
+                    "type": [
+                        [
+                            [
+                                "\"argsMissing\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgsUnavailable",
+                    "type": [
+                        [
+                            [
+                                "\"argsUnavailable\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentBooleanError",
+                    "type": [
+                        [
+                            [
+                                "\"booleanError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"channelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentDMChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"dmChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentDateError",
+                    "type": [
+                        [
+                            [
+                                "\"dateError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentDateTooEarly",
+                    "type": [
+                        [
+                            [
+                                "\"dateTooEarly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentDateTooFar",
+                    "type": [
+                        [
+                            [
+                                "\"dateTooFar\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentEmojiError",
+                    "type": [
+                        [
+                            [
+                                "\"emojiError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentEnumEmptyError",
+                    "type": [
+                        [
+                            [
+                                "\"enumEmptyError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentEnumError",
+                    "type": [
+                        [
+                            [
+                                "\"enumError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentFloatError",
+                    "type": [
+                        [
+                            [
+                                "\"floatError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentFloatTooLarge",
+                    "type": [
+                        [
+                            [
+                                "\"floatTooLarge\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentFloatTooSmall",
+                    "type": [
+                        [
+                            [
+                                "\"floatTooSmall\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildCategoryChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"categoryChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildChannelMissingGuildError",
+                    "type": [
+                        [
+                            [
+                                "\"guildChannelMissingGuildError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildNewsChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildNewsChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildNewsThreadChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildNewsChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildPrivateThreadChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildPrivateThreadChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildPublicThreadChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildPublicThreadChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildStageVoiceChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildStageVoiceChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildTextChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildTextChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildThreadChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildThreadChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentGuildVoiceChannelError",
+                    "type": [
+                        [
+                            [
+                                "\"guildVoiceChannelError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentHyperlinkError",
+                    "type": [
+                        [
+                            [
+                                "\"hyperlinkError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentIntegerError",
+                    "type": [
+                        [
+                            [
+                                "\"integerError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentIntegerTooLarge",
+                    "type": [
+                        [
+                            [
+                                "\"integerTooLarge\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentIntegerTooSmall",
+                    "type": [
+                        [
+                            [
+                                "\"integerTooSmall\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentMemberError",
+                    "type": [
+                        [
+                            [
+                                "\"memberError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentMemberMissingGuild",
+                    "type": [
+                        [
+                            [
+                                "\"memberMissingGuild\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentMessageError",
+                    "type": [
+                        [
+                            [
+                                "\"messageError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentNumberError",
+                    "type": [
+                        [
+                            [
+                                "\"numberError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentNumberTooLarge",
+                    "type": [
+                        [
+                            [
+                                "\"numberTooLarge\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentNumberTooSmall",
+                    "type": [
+                        [
+                            [
+                                "\"numberTooSmall\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentRoleError",
+                    "type": [
+                        [
+                            [
+                                "\"roleError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentRoleMissingGuild",
+                    "type": [
+                        [
+                            [
+                                "\"roleMissingGuild\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentStringTooLong",
+                    "type": [
+                        [
+                            [
+                                "\"stringTooLong\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentStringTooShort",
+                    "type": [
+                        [
+                            [
+                                "\"stringTooShort\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ArgumentUserError",
+                    "type": [
+                        [
+                            [
+                                "\"userError\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "CommandDisabled",
+                    "type": [
+                        [
+                            [
+                                "\"commandDisabled\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionClientPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionClientPermissions\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionClientPermissionsNoClient",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionClientPermissionsNoClient\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionClientPermissionsNoPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionClientPermissionsNoPermissions\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionCooldown",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionCooldown\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionDMOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionDmOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildNewsOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildNewsOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildNewsThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildNewsThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildPrivateThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildPrivateThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildPublicThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildPublicThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionGuildTextOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionGuildTextOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionMissingChatInputHandler",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionMissingChatInputHandler\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionMissingContextMenuHandler",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionMissingContextMenuHandler\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionMissingMessageHandler",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionMissingMessageHandler\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionNSFW",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionNsfw\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionThreadOnly",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionThreadOnly\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionUserPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionUserPermissions\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreconditionUserPermissionsNoPermissions",
+                    "type": [
+                        [
+                            [
+                                "\"preconditionUserPermissionsNoPermissions\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InteractionHandlerTypes",
+            "meta": {
+                "line": 105,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Autocomplete",
+                    "type": [
+                        [
+                            [
+                                "\"AUTOCOMPLETE\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Button",
+                    "type": [
+                        [
+                            [
+                                "\"BUTTON\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "MessageComponent",
+                    "type": [
+                        [
+                            [
+                                "\"MESSAGE_COMPONENT\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "SelectMenu",
+                    "type": [
+                        [
+                            [
+                                "\"SELECT_MENU\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InternalRegistryAPIType",
+            "meta": {
+                "line": 42,
+                "file": "Enums.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "ChatInput",
+                    "type": [
+                        [
+                            [
+                                "0"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "ContextMenu",
+                    "type": [
+                        [
+                            [
+                                "1"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "LogLevel",
+            "description": "The logger levels for the {@link ILogger}.",
+            "meta": {
+                "line": 4,
+                "file": "ILogger.ts",
+                "path": "src/lib/utils/logger"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Debug",
+                    "description": "The debug level, used when calling {@link ILogger.debug}.",
+                    "type": [
+                        [
+                            [
+                                "20"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Error",
+                    "description": "The error level, used when calling {@link ILogger.error}.",
+                    "type": [
+                        [
+                            [
+                                "50"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Fatal",
+                    "description": "The critical level, used when calling {@link ILogger.fatal}.",
+                    "type": [
+                        [
+                            [
+                                "60"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Info",
+                    "description": "The info level, used when calling {@link ILogger.info}.",
+                    "type": [
+                        [
+                            [
+                                "30"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "None",
+                    "description": "An unknown or uncategorized level.",
+                    "type": [
+                        [
+                            [
+                                "100"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Trace",
+                    "description": "The lowest log level, used when calling {@link ILogger.trace}.",
+                    "type": [
+                        [
+                            [
+                                "10"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Warn",
+                    "description": "The warning level, used when calling {@link ILogger.warn}.",
+                    "type": [
+                        [
+                            [
+                                "40"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PluginHook",
+            "meta": {
+                "line": 7,
+                "file": "Enums.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "PostInitialization",
+                    "type": [
+                        [
+                            [
+                                "\"postInitialization\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PostLogin",
+                    "type": [
+                        [
+                            [
+                                "\"postLogin\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreGenericsInitialization",
+                    "type": [
+                        [
+                            [
+                                "\"preGenericsInitialization\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreInitialization",
+                    "type": [
+                        [
+                            [
+                                "\"preInitialization\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "PreLogin",
+                    "type": [
+                        [
+                            [
+                                "\"preLogin\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionRunCondition",
+            "description": "The condition for a {@link PreconditionContainerArray}.",
+            "meta": {
+                "line": 38,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "And",
+                    "description": "Defines a condition where all the entries must pass. This uses {@link PreconditionConditionAnd}.",
+                    "type": [
+                        [
+                            [
+                                "0"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Or",
+                    "description": "Defines a condition where at least one entry must pass. This uses {@link PreconditionConditionOr}.",
+                    "type": [
+                        [
+                            [
+                                "1"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionRunMode",
+            "description": "The run mode for a {@link PreconditionContainerArray}.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 19,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "Parallel",
+                    "description": "All entries are run in parallel using `Promise.all`, then the results are processed after all of them have\ncompleted.",
+                    "type": [
+                        [
+                            [
+                                "1"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Sequential",
+                    "description": "The entries are run sequentially, this is the default behaviour and can be slow when doing long asynchronous\ntasks, but is performance savvy.",
+                    "type": [
+                        [
+                            [
+                                "0"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "RegisterBehavior",
+            "meta": {
+                "line": 37,
+                "file": "Enums.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "enum",
+            "props": [
+                {
+                    "name": "LogToConsole",
+                    "type": [
+                        [
+                            [
+                                "\"LOG_TO_CONSOLE\""
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Overwrite",
+                    "type": [
+                        [
+                            [
+                                "\"OVERWRITE\""
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "AliasPieceOptions",
+            "meta": {
+                "line": 669,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ArgOptions",
+            "meta": {
+                "line": 722,
+                "file": "Args.ts",
+                "path": "src/lib/parsers"
+            },
+            "variant": "interface"
+        },
+        {
+            "name": "ArgType",
+            "meta": {
+                "line": 693,
+                "file": "Args.ts",
+                "path": "src/lib/parsers"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "boolean",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "channel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChannelTypes"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "date",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Date"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "dmChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "DMChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "emoji",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "EmojiObject"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enum",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "float",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildCategoryChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CategoryChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "GuildBasedChannelTypes"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildNewsChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "NewsChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildNewsThreadChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ThreadChannel",
+                                " & {"
+                            ],
+                            [
+                                "\nparent",
+                                ": "
+                            ],
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "NewsChannel",
+                                ","
+                            ],
+                            [
+                                "\ntype",
+                                ": "
+                            ],
+                            [
+                                "'GUILD",
+                                "_"
+                            ],
+                            [
+                                "NEWS",
+                                "_"
+                            ],
+                            [
+                                "THREAD'\n",
+                                "}"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildPrivateThreadChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ThreadChannel",
+                                " & {"
+                            ],
+                            [
+                                "\nparent",
+                                ": "
+                            ],
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "TextChannel",
+                                ","
+                            ],
+                            [
+                                "\ntype",
+                                ": "
+                            ],
+                            [
+                                "'GUILD",
+                                "_"
+                            ],
+                            [
+                                "PRIVATE",
+                                "_"
+                            ],
+                            [
+                                "THREAD'\n",
+                                "}"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildPublicThreadChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ThreadChannel",
+                                " & {"
+                            ],
+                            [
+                                "\nparent",
+                                ": "
+                            ],
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "TextChannel",
+                                ","
+                            ],
+                            [
+                                "\ntype",
+                                ": "
+                            ],
+                            [
+                                "'GUILD",
+                                "_"
+                            ],
+                            [
+                                "PUBLIC",
+                                "_"
+                            ],
+                            [
+                                "THREAD'\n",
+                                "}"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildStageVoiceChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "StageChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildTextChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "TextChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildThreadChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ThreadChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildVoiceChannel",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "VoiceChannel"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "hyperlink",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "URL"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "integer",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "member",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "GuildMember"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "number",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "role",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Role"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "string",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "url",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "URL"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "user",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "User"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ArgsNextCallback",
+            "description": "The value to be mapped.",
+            "meta": {
+                "line": 735,
+                "file": "Args.ts",
+                "path": "src/lib/parsers"
+            },
+            "variant": "interface",
+            "params": [
+                {
+                    "name": "value",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "returns": [
+                [
+                    [
+                        "Maybe",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        ">"
+                    ]
+                ]
+            ]
+        },
+        {
+            "name": "ArgumentContext",
+            "meta": {
+                "line": 90,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Args"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "argument",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandContext",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "inclusive",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "maximum",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "minimum",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ArgumentOptions",
+            "meta": {
+                "line": 88,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "AutocompleteCommandContext",
+            "meta": {
+                "line": 813,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandId",
+                    "description": "The id of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandName",
+                    "description": "The name of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "AutocompleteInteractionPayload",
+            "meta": {
+                "line": 520,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "AutocompleteCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "AutocompleteCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "AutocompleteInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandAcceptedPayload",
+            "meta": {
+                "line": 453,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandContext",
+            "meta": {
+                "line": 791,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandId",
+                    "description": "The id of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandName",
+                    "description": "The name of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandDeniedPayload",
+            "meta": {
+                "line": 449,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandErrorPayload",
+            "meta": {
+                "line": 466,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandFinishPayload",
+            "meta": {
+                "line": 457,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandRunPayload",
+            "meta": {
+                "line": 455,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ChatInputCommandSuccessPayload",
+            "meta": {
+                "line": 461,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "result",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ClientLoggerOptions",
+            "meta": {
+                "line": 353,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "instance",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "ILogger"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "level",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "LogLevel"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandChatInputRegisterShortcut",
+            "meta": {
+                "line": 733,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "behaviorWhenNotIdentical",
+                    "description": "Specifies what we should do when the command is present, but not identical with the data you provided",
+                    "optional": true,
+                    "default": "RegisterBehavior.LogToConsole",
+                    "type": [
+                        [
+                            [
+                                "RegisterBehavior"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "defaultPermission",
+                    "description": "Sets the `defaultPermission` field for the chat input command",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "guildIds",
+                    "description": "If this is specified, the application commands will only be registered for these guild ids.",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "idHints",
+                    "description": "Specifies a list of command ids that we should check in the event of a name mismatch",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "register",
+                    "description": "If we should register the command, be it missing or present already",
+                    "optional": false,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandDoesNotHaveChatInputCommandHandlerPayload",
+            "meta": {
+                "line": 434,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandDoesNotHaveContextMenuCommandHandlerPayload",
+            "meta": {
+                "line": 475,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandDoesNotHaveMessageCommandHandler",
+            "meta": {
+                "line": 382,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandPrefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "RegExp"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandJSON",
+            "meta": {
+                "line": 824,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "aliases",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "category",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "description",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "detailedDescription",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "DetailedDescriptionCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "location",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PieceLocationJSON"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "AliasPieceOptions"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CommandOptions",
+            "description": "The {@link Command} options.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 590,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "chatInputCommand",
+                    "description": "Shortcuts for registering simple chat input commands",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "CommandChatInputRegisterShortcut"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "cooldownDelay",
+                    "description": "The time in milliseconds for the cooldown entries to reset, if set to a non-zero value alongside {@link Command.Options.cooldownLimit}, the `Cooldown` precondition will be added to the list.",
+                    "optional": true,
+                    "default": "0",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "cooldownFilteredUsers",
+                    "description": "The users that are exempt from the Cooldown precondition.\nUse this to filter out someone like a bot owner",
+                    "optional": true,
+                    "default": "undefined",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "cooldownLimit",
+                    "description": "The amount of entries the cooldown can have before filling up, if set to a non-zero value alongside {@link Command.Options.cooldownDelay}, the `Cooldown` precondition will be added to the list.",
+                    "optional": true,
+                    "default": "1",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "cooldownScope",
+                    "description": "The scope of the cooldown entries.",
+                    "optional": true,
+                    "default": "BucketScope.User",
+                    "type": [
+                        [
+                            [
+                                "BucketScope"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "description",
+                    "description": "The description for the command.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "detailedDescription",
+                    "description": "The detailed description for the command.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "DetailedDescriptionCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "flags",
+                    "description": "The accepted flags. Flags are key-only identifiers that can be placed anywhere in the command. Two different types are accepted:\n* An array of strings, e.g. [`silent`].\n* A boolean defining whether the strategy should accept all keys (`true`) or none at all (`false`).",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "boolean",
+                                " | "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "fullCategory",
+                    "description": "The full category path for the command",
+                    "optional": true,
+                    "default": "'An array of folder names that lead back to the folder that is registered for in the commands store'",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "generateDashLessAliases",
+                    "description": "Whether to add aliases for commands with dashes in them",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "generateUnderscoreLessAliases",
+                    "description": "Whether to add aliases for commands with underscores in them",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "nsfw",
+                    "description": "Sets whether or not the command should be treated as NSFW. If set to true, the `NSFW` precondition will be added to the list.",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "description": "The accepted options. Options are key-value identifiers that can be placed anywhere in the command. Two different types are accepted:\n* An array of strings, e.g. [`silent`].\n* A boolean defining whether the strategy should accept all keys (`true`) or none at all (`false`).",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "boolean",
+                                " | "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "preconditions",
+                    "description": "The {@link Precondition}s to be run, accepts an array of their names.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "PreconditionEntryResolvable",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prefixes",
+                    "description": "The prefixes for both flags and options.",
+                    "optional": true,
+                    "default": "['--', '-', 'β€”']",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "quotes",
+                    "description": "The quotes accepted by this command, pass `[]` to disable them.",
+                    "optional": true,
+                    "default": "[\n  ['\"', '\"'], // Double quotes\n  ['β€œ', '”'], // Fancy quotes (on iOS)\n  ['γ€Œ', '」'] // Corner brackets (CJK)\n  ['Β«', 'Β»'] // French quotes (guillemets)\n]",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<["
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "string",
+                                "]>"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "requiredClientPermissions",
+                    "description": "The required permissions for the client.",
+                    "optional": true,
+                    "default": "0",
+                    "type": [
+                        [
+                            [
+                                "PermissionResolvable"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "requiredUserPermissions",
+                    "description": "The required permissions for the user.",
+                    "optional": true,
+                    "default": "0",
+                    "type": [
+                        [
+                            [
+                                "PermissionResolvable"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "runIn",
+                    "description": "The channels the command should run in. If set to `null`, no precondition entry will be added. Some optimizations are applied when given an array to reduce the amount of preconditions run (e.g. `'GUILD_TEXT'` and `'GUILD_NEWS'` becomes `'GUILD_ANY'`, and if both `'DM'` and `'GUILD_ANY'` are defined, then no precondition entry is added as it runs in all channels).",
+                    "optional": true,
+                    "default": "null",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "CommandOptionsRunType",
+                                " | "
+                            ],
+                            [
+                                "CommandOptionsRunTypeEnum",
+                                " | "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "CommandOptionsRunType",
+                                " | "
+                            ],
+                            [
+                                "CommandOptionsRunTypeEnum",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "separators",
+                    "description": "The flag separators.",
+                    "optional": true,
+                    "default": "['=', ':']",
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "typing",
+                    "description": "If {@link SapphireClient.typing} is true, this option will override it.\nOtherwise, this option has no effect - you may call {@link Channel#sendTyping}` in the run method if you want specific commands to display the typing status.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandAcceptedPayload",
+            "meta": {
+                "line": 494,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandContext",
+            "meta": {
+                "line": 802,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandId",
+                    "description": "The id of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandName",
+                    "description": "The name of the command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandDeniedPayload",
+            "meta": {
+                "line": 490,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandErrorPayload",
+            "meta": {
+                "line": 507,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandFinishPayload",
+            "meta": {
+                "line": 498,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandRunPayload",
+            "meta": {
+                "line": 496,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ContextMenuCommandSuccessPayload",
+            "meta": {
+                "line": 502,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "result",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "CooldownOptions",
+            "meta": {
+                "line": 358,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "delay",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "filteredCommands",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "filteredUsers",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "limit",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "scope",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "BucketScope"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "DetailedDescriptionCommandObject",
+            "meta": {
+                "line": 846,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface"
+        },
+        {
+            "name": "Err",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 26,
+                "file": "Lexure.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "error",
+                    "description": "The resulting error, which only exists on an Err.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "E"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "success",
+                    "description": "If this an Err, this is false.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "false"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "value",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "undefined"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ExtendedArgumentContext",
+            "see": [],
+            "deprecated": true,
+            "meta": {
+                "line": 86,
+                "file": "ExtendedArgument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Args"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "argument",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "IArgument",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandContext",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "inclusive",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "maximum",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "minimum",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameter",
+                    "description": "The canonical parameter specified by the user in the command, as\na string, equivalent to the first parameter of {@link Argument#run}.\nThis allows {@link ExtendedArgument#handle} to access the original\nargument, which is useful for returning {@link Argument#error} so\nthat you don't have to convert the parsed argument back into a\nstring.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ExtendedArgumentOptions",
+            "see": [],
+            "deprecated": true,
+            "meta": {
+                "line": 75,
+                "file": "ExtendedArgument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "aliases",
+                    "description": "The aliases for the piece.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "baseArgument",
+                    "description": "The name of the underlying argument whose value is used to compute\nthe extended argument value; see {@link ArgType} for valid keys.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "K"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IArgument",
+            "meta": {
+                "line": 20,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "name",
+                    "description": "The name of the argument, this is used to make the identification of an argument easier.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "run",
+                    "description": "The method which is called when invoking the argument.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "parameter",
+                                ": "
+                            ],
+                            [
+                                "string",
+                                ", "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "Context",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">) => "
+                            ],
+                            [
+                                "Result",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IChatInputCommandPayload",
+            "meta": {
+                "line": 440,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IContextMenuCommandPayload",
+            "meta": {
+                "line": 481,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IInteractionHandlerPayload",
+            "meta": {
+                "line": 511,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "handler",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Interaction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ILogger",
+            "meta": {
+                "line": 41,
+                "file": "ILogger.ts",
+                "path": "src/lib/utils/logger"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "debug",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Debug} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "error",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Error} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "fatal",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Fatal} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "has",
+                    "description": "Checks whether a level is supported.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "level",
+                                ": "
+                            ],
+                            [
+                                "LogLevel",
+                                ") => "
+                            ],
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "info",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Info} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "trace",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Trace} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "warn",
+                    "description": "Alias of {@link ILogger.write} with {@link LogLevel.Warn} as level.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "write",
+                    "description": "Writes the log message given a level and the value(s).",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "level",
+                                ": "
+                            ],
+                            [
+                                "LogLevel",
+                                ", "
+                            ],
+                            [
+                                "values",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "unknown",
+                                ">) => "
+                            ],
+                            [
+                                "void"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IMessageCommandPayload",
+            "meta": {
+                "line": 393,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IPieceError",
+            "meta": {
+                "line": 368,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "piece",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IPreconditionCondition",
+            "description": "Defines the condition for {@link PreconditionContainerArray}s to run.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 10,
+                "file": "IPreconditionCondition.ts",
+                "path": "src/lib/utils/preconditions/conditions"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "chatInputParallel",
+                    "description": "Runs all the containers using `Promise.all`, then checks the results once all tasks finished running.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "ChatInputCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "chatInputSequential",
+                    "description": "Runs the containers one by one.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "ChatInputCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "contextMenuParallel",
+                    "description": "Runs all the containers using `Promise.all`, then checks the results once all tasks finished running.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "ContextMenuCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "contextMenuSequential",
+                    "description": "Runs the containers one by one.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "ContextMenuCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "messageParallel",
+                    "description": "Runs all the containers using `Promise.all`, then checks the results once all tasks finished running.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "message",
+                                ": "
+                            ],
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "MessageCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "messageSequential",
+                    "description": "Runs the containers one by one.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "message",
+                                ": "
+                            ],
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "MessageCommand",
+                                ", "
+                            ],
+                            [
+                                "entries",
+                                ": "
+                            ],
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "IPreconditionContainer",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "IPreconditionContainer",
+            "description": "An abstracted precondition container to be implemented by classes.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 30,
+                "file": "IPreconditionContainer.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "chatInputRun",
+                    "description": "Runs a precondition container.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "contextMenuRun",
+                    "description": "Runs a precondition container.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "interaction",
+                                ": "
+                            ],
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "messageRun",
+                    "description": "Runs a precondition container.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "("
+                            ],
+                            [
+                                "message",
+                                ": "
+                            ],
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">, "
+                            ],
+                            [
+                                "command",
+                                ": "
+                            ],
+                            [
+                                "Command",
+                                "<"
+                            ],
+                            [
+                                "Args",
+                                ", "
+                            ],
+                            [
+                                "CommandOptions",
+                                ">, "
+                            ],
+                            [
+                                "context",
+                                ": "
+                            ],
+                            [
+                                "PreconditionContext",
+                                ") => "
+                            ],
+                            [
+                                "PreconditionContainerReturn"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InteractionHandlerError",
+            "meta": {
+                "line": 518,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "handler",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Interaction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InteractionHandlerJSON",
+            "meta": {
+                "line": 93,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "enabled",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interactionHandlerType",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerTypes"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "location",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PieceLocationJSON"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PieceOptions"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InteractionHandlerOptions",
+            "meta": {
+                "line": 86,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interactionHandlerType",
+                    "description": "The type of interaction this handler is for. Must be one of {@link InteractionHandlerTypes}.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerTypes"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "InteractionHandlerParseError",
+            "meta": {
+                "line": 516,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "handler",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandler",
+                                "<"
+                            ],
+                            [
+                                "InteractionHandlerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Interaction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ListenerErrorPayload",
+            "meta": {
+                "line": 372,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "piece",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Listener",
+                                "<"
+                            ],
+                            [
+                                "''",
+                                ", "
+                            ],
+                            [
+                                "ListenerOptions",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ListenerJSON",
+            "meta": {
+                "line": 122,
+                "file": "Listener.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "enabled",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "event",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "symbol"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "location",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PieceLocationJSON"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "once",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PieceOptions"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ListenerOptions",
+            "meta": {
+                "line": 116,
+                "file": "Listener.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "emitter",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "EventEmitter",
+                                " | "
+                            ],
+                            [
+                                "keyof",
+                                " "
+                            ],
+                            [
+                                "Client",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "event",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "symbol"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "once",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandAcceptedPayload",
+            "meta": {
+                "line": 405,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandContext",
+            "meta": {
+                "line": 773,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandName",
+                    "description": "The alias used to run this command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandPrefix",
+                    "description": "The matched prefix, this will always be the same as {@link MessageCommand.RunContext.prefix} if it was a string, otherwise it is\nthe result of doing `prefix.exec(content)[0]`.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prefix",
+                    "description": "The prefix used to run this command.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "RegExp"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandDeniedPayload",
+            "meta": {
+                "line": 400,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandErrorPayload",
+            "meta": {
+                "line": 418,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandFinishPayload",
+            "meta": {
+                "line": 414,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandRunPayload",
+            "meta": {
+                "line": 410,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandSuccessPayload",
+            "meta": {
+                "line": 422,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "duration",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "result",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "MessageCommandTypingErrorPayload",
+            "meta": {
+                "line": 427,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "args",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "unknown"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "None",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 69,
+                "file": "Lexure.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "exists",
+                    "description": "If this is a None, this is false.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "false"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "value",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "undefined"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "Ok",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 8,
+                "file": "Lexure.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "error",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "undefined"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "success",
+                    "description": "If this is an Ok, this is true.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "true"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "value",
+                    "description": "The resulting value, which only exists on an Ok.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PieceContext",
+            "description": "The context for the piece, contains extra information from the store,\nthe piece's path, and the store that loaded it.",
+            "meta": {
+                "line": 386,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "name",
+                    "description": "The module's name extracted from the path.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "path",
+                    "description": "The path the module was loaded from, relative to {@link PieceContext.root}.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "root",
+                    "description": "The root directory the piece was loaded from.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "store",
+                    "description": "The store that loaded the piece.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Store",
+                                "<"
+                            ],
+                            [
+                                "Piece",
+                                "<"
+                            ],
+                            [
+                                "PieceOptions",
+                                ">>"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PieceOptions",
+            "description": "The options for the {@link Piece}.",
+            "meta": {
+                "line": 407,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreChatInputCommandRunPayload",
+            "meta": {
+                "line": 445,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreContextMenuCommandRunPayload",
+            "meta": {
+                "line": 486,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreMessageCommandRunPayload",
+            "meta": {
+                "line": 398,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "command",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommand"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "parameters",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionArrayResolvableDetails",
+            "description": "Defines the detailed options for the {@link PreconditionContainerArray}, where both the {@link PreconditionRunMode} and the\nentries can be defined.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 57,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "entries",
+                    "description": "The data that will be used to resolve {@link IPreconditionContainer} dependent of this one.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "PreconditionEntryResolvable",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "mode",
+                    "description": "The mode the {@link PreconditionContainerArray} will run.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PreconditionRunMode"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionContext",
+            "meta": {
+                "line": 142,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "external",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionOptions",
+            "meta": {
+                "line": 133,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "enabled",
+                    "description": "Whether or not the piece should be enabled. If set to false, the piece will be unloaded.",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name for the piece.",
+                    "optional": true,
+                    "default": "''",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "position",
+                    "description": "The position for the precondition to be set at in the global precondition list. If set to `null`, this\nprecondition will not be set as a global one.",
+                    "optional": true,
+                    "default": "null",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "PreconditionSingleResolvableDetails",
+            "description": "Defines the detailed options for the {@link PreconditionContainerSingle}, where both the {@link PreconditionContext} and the\nname of the precondition can be defined.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 25,
+                "file": "PreconditionContainerSingle.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "context",
+                    "description": "The context to be set at {@link PreconditionContainerSingle.context}.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Preconditions",
+                                "["
+                            ],
+                            [
+                                "K",
+                                "]"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "description": "The name of the precondition to retrieve from {@link SapphireClient.preconditions}.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "K"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "Preconditions",
+            "description": "The registered preconditions and their contexts, if any. When registering new ones, it is recommended to use\n[module augmentation](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation) so\ncustom ones are registered.",
+            "extendedDescription": "When a key's value is `never`, it means that it does not take any context, which allows you to pass its identifier as\na bare string (e.g. `preconditions: ['NSFW']`), however, if context is required, a non-`never` type should be passed,\nwhich will type {@link PreconditionContainerArray#append} and require an object with the name and a `context` with\nthe defined type.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 108,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "ClientPermissions",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "{"
+                            ],
+                            [
+                                "\npermissions",
+                                ": "
+                            ],
+                            [
+                                "Permissions\n",
+                                "}"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Cooldown",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CooldownPreconditionContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "DMOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "Enabled",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNewsOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildNewsThreadOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPrivateThreadOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildPublicThreadOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildTextOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "GuildThreadOnly",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "NSFW",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "never"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "UserPermissions",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "{"
+                            ],
+                            [
+                                "\npermissions",
+                                ": "
+                            ],
+                            [
+                                "Permissions\n",
+                                "}"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "RepeatArgOptions",
+            "meta": {
+                "line": 724,
+                "file": "Args.ts",
+                "path": "src/lib/parsers"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "times",
+                    "description": "The maximum amount of times the argument can be repeated.",
+                    "optional": true,
+                    "default": "Infinity",
+                    "type": [
+                        [
+                            [
+                                "number"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "SapphireClientOptions",
+            "meta": {
+                "line": 32,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "baseUserDirectory",
+                    "description": "The base user directory, if set to `null`, Sapphire will not call {@link StoreRegistry.registerPath},\nmeaning that you will need to manually set each folder for each store. Please read the aforementioned method's\ndocumentation for more information.",
+                    "optional": true,
+                    "default": "undefined",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "caseInsensitiveCommands",
+                    "description": "Whether commands can be case insensitive",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "caseInsensitivePrefixes",
+                    "description": "Whether prefixes can be case insensitive",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "null",
+                                " | "
+                            ],
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "defaultCooldown",
+                    "description": "Sets the default cooldown time for all commands.",
+                    "optional": true,
+                    "default": "\"No cooldown options\"",
+                    "type": [
+                        [
+                            [
+                                "CooldownOptions"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "defaultPrefix",
+                    "description": "The default prefix, in case of `null`, only mention prefix will trigger the bot's commands.",
+                    "optional": true,
+                    "default": "null",
+                    "type": [
+                        [
+                            [
+                                "SapphirePrefix"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "disableMentionPrefix",
+                    "description": "Controls whether the bot has mention as a prefix disabled",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "enableLoaderTraceLoggings",
+                    "description": "Whether or not trace logging should be enabled.",
+                    "optional": true,
+                    "default": "container.logger.has(LogLevel.Trace)",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "fetchPrefix",
+                    "description": "The prefix hook, by default it is a callback function that returns {@link SapphireClientOptions.defaultPrefix}.",
+                    "optional": true,
+                    "default": "() => client.options.defaultPrefix",
+                    "type": [
+                        [
+                            [
+                                "SapphirePrefixHook"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "id",
+                    "description": "The client's ID, this is automatically set by the CoreReady event.",
+                    "optional": true,
+                    "default": "this.client.user?.id ?? null",
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "loadDefaultErrorListeners",
+                    "description": "If Sapphire should load the pre-included error event listeners that log any encountered errors to the {@link SapphireClient.logger} instance",
+                    "optional": true,
+                    "default": "true",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "loadMessageCommandListeners",
+                    "description": "If Sapphire should load the pre-included message command listeners that are used to process incoming messages for commands.",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "logger",
+                    "description": "The logger options, defaults to an instance of {@link Logger} when {@link ClientLoggerOptions.instance} is not specified.",
+                    "optional": true,
+                    "default": "{ instance: new Logger(LogLevel.Info) }",
+                    "type": [
+                        [
+                            [
+                                "ClientLoggerOptions"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "preventFailedToFetchLogForGuildIds",
+                    "description": "Whenever starting the bot process Sapphire may report errors when failing to fetch guild commands.\nOne of the causes for this can be when a bot was invited to a server without the `application.commands` scope.",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "regexPrefix",
+                    "description": "The regex prefix, an alternative to a mention or regular prefix to allow creating natural language command messages",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "RegExp"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "typing",
+                    "description": "Controls whether the bot will automatically appear to be typing when a command is accepted.",
+                    "optional": true,
+                    "default": "false",
+                    "type": [
+                        [
+                            [
+                                "boolean"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "SapphirePluginAsyncHook",
+            "meta": {
+                "line": 9,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            },
+            "variant": "interface",
+            "params": [
+                {
+                    "name": "this",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ClientOptions"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "returns": [
+                [
+                    [
+                        "unknown"
+                    ]
+                ]
+            ]
+        },
+        {
+            "name": "SapphirePluginHook",
+            "meta": {
+                "line": 14,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            },
+            "variant": "interface",
+            "params": [
+                {
+                    "name": "this",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "SapphireClient",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "options",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ClientOptions"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "returns": [
+                [
+                    [
+                        "unknown"
+                    ]
+                ]
+            ]
+        },
+        {
+            "name": "SapphirePluginHookEntry",
+            "meta": {
+                "line": 18,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "hook",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "name",
+                    "optional": true,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "type",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PluginHook"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "SapphirePrefixHook",
+            "meta": {
+                "line": 28,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            },
+            "variant": "interface",
+            "params": [
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ],
+            "returns": [
+                [
+                    [
+                        "Awaitable",
+                        "<"
+                    ],
+                    [
+                        "SapphirePrefix",
+                        ">"
+                    ]
+                ]
+            ]
+        },
+        {
+            "name": "SimplePreconditionSingleResolvableDetails",
+            "description": "Defines the simple options for the {@link PreconditionContainerSingle}, where only the name of the precondition can\nbe defined.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 12,
+                "file": "PreconditionContainerSingle.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "name",
+                    "description": "The name of the precondition to retrieve from {@link SapphireClient.preconditions}.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "SimplePreconditionKeys"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "Some",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 53,
+                "file": "Lexure.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "exists",
+                    "description": "If this is a Some, this is true.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "true"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "value",
+                    "description": "The value, which only exists on a Some.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "T"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "StoreOptions",
+            "description": "The options for the store, this features both hooks (changes the behaviour) and handlers (similar to event listeners).",
+            "meta": {
+                "line": 247,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "name",
+                    "description": "The name for this store.",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "paths",
+                    "description": "The paths to load pieces from, should be absolute.",
+                    "optional": true,
+                    "default": "[]",
+                    "type": [
+                        [
+                            [
+                                "readonly",
+                                " "
+                            ],
+                            [
+                                "Array",
+                                "<"
+                            ],
+                            [
+                                "string",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "strategy",
+                    "description": "The strategy to be used for the loader.",
+                    "optional": true,
+                    "default": "Store.defaultStrategy",
+                    "type": [
+                        [
+                            [
+                                "ILoaderStrategy",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "StoreRegistryEntries",
+            "description": "The {@link StoreRegistry}'s registry, use module augmentation against this interface when adding new stores.",
+            "see": [],
+            "deprecated": false,
+            "meta": {
+                "line": 565,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "variant": "interface",
+            "isExternal": true,
+            "props": [
+                {
+                    "name": "arguments",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ArgumentStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commands",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction-handlers",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "listeners",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ListenerStore"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "preconditions",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "PreconditionStore"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "UnknownChatInputCommandPayload",
+            "meta": {
+                "line": 429,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "UnknownContextMenuCommandPayload",
+            "meta": {
+                "line": 470,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "context",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "interaction",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "CacheType",
+                                ">"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "UnknownMessageCommandNamePayload",
+            "meta": {
+                "line": 376,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandPrefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "RegExp"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "UnknownMessageCommandPayload",
+            "meta": {
+                "line": 389,
+                "file": "Events.ts",
+                "path": "src/lib/types"
+            },
+            "variant": "interface",
+            "props": [
+                {
+                    "name": "commandName",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "commandPrefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "message",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "Message",
+                                "<"
+                            ],
+                            [
+                                "boolean",
+                                ">"
+                            ]
+                        ]
+                    ]
+                },
+                {
+                    "name": "prefix",
+                    "optional": false,
+                    "type": [
+                        [
+                            [
+                                "string",
+                                " | "
+                            ],
+                            [
+                                "RegExp"
+                            ]
+                        ]
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "ApplicationCommandRegistryRegisterOptions",
+            "type": [
+                [
+                    [
+                        "ApplicationCommandRegistry",
+                        "."
+                    ],
+                    [
+                        "RegisterOptions"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 481,
+                "file": "ApplicationCommandRegistry.ts",
+                "path": "src/lib/utils/application-commands"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "ArgumentResult",
+            "description": "Defines a synchronous result of an {@link Argument}, check {@link Argument.AsyncResult} for the asynchronous version.",
+            "type": [
+                [
+                    [
+                        "Awaitable",
+                        "<"
+                    ],
+                    [
+                        "Result",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        ", "
+                    ],
+                    [
+                        "UserError",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 13,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "AsyncArgumentResult",
+            "description": "Defines an asynchronous result of an {@link Argument}, check {@link Argument.Result} for the synchronous version.",
+            "type": [
+                [
+                    [
+                        "Promise",
+                        "<"
+                    ],
+                    [
+                        "Result",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        ", "
+                    ],
+                    [
+                        "UserError",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 18,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "AsyncPluginHooks",
+            "type": [
+                [
+                    [
+                        "PluginHook",
+                        "."
+                    ],
+                    [
+                        "PreLogin",
+                        " | "
+                    ],
+                    [
+                        "PluginHook",
+                        "."
+                    ],
+                    [
+                        "PostLogin"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 8,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "AsyncPreconditionContainerReturn",
+            "description": "Async-only version of {@link PreconditionContainerReturn}, to be used when the run method is async.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "Promise",
+                        "<"
+                    ],
+                    [
+                        "PreconditionContainerResult",
+                        ">"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 24,
+                "file": "IPreconditionContainer.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "AsyncPreconditionResult",
+            "type": [
+                [
+                    [
+                        "Promise",
+                        "<"
+                    ],
+                    [
+                        "Result",
+                        "<"
+                    ],
+                    [
+                        "unknown",
+                        ", "
+                    ],
+                    [
+                        "UserError",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 11,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "AutocompleteCommand",
+            "type": [
+                [
+                    [
+                        "Command",
+                        " & "
+                    ],
+                    [
+                        "Required",
+                        "<"
+                    ],
+                    [
+                        "Pick",
+                        "<"
+                    ],
+                    [
+                        "Command",
+                        ", "
+                    ],
+                    [
+                        "'autocompleteRun'",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 527,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "Awaitable",
+            "description": "ReturnType for a function that can return either a value or a `Promise` with that value",
+            "type": [
+                [
+                    [
+                        "PromiseLike",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        "> | "
+                    ],
+                    [
+                        "T"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 44,
+                "file": "utilityTypes.d.ts",
+                "path": "node_modules/@sapphire/utilities/dist/lib"
+            },
+            "variant": "type",
+            "isExternal": true
+        },
+        {
+            "name": "ChatInputCommand",
+            "type": [
+                [
+                    [
+                        "Command",
+                        " & "
+                    ],
+                    [
+                        "Required",
+                        "<"
+                    ],
+                    [
+                        "Pick",
+                        "<"
+                    ],
+                    [
+                        "Command",
+                        ", "
+                    ],
+                    [
+                        "'chatInputRun'",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 503,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "CommandOptionsRunType",
+            "description": "The allowed values for {@link Command.Options.runIn}.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "'DM'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "TEXT'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "NEWS'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "NEWS",
+                        "_"
+                    ],
+                    [
+                        "THREAD'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "PUBLIC",
+                        "_"
+                    ],
+                    [
+                        "THREAD'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "PRIVATE",
+                        "_"
+                    ],
+                    [
+                        "THREAD'",
+                        " | "
+                    ],
+                    [
+                        "'GUILD",
+                        "_"
+                    ],
+                    [
+                        "ANY'"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 544,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "ContextMenuCommand",
+            "type": [
+                [
+                    [
+                        "Command",
+                        " & "
+                    ],
+                    [
+                        "Required",
+                        "<"
+                    ],
+                    [
+                        "Pick",
+                        "<"
+                    ],
+                    [
+                        "Command",
+                        ", "
+                    ],
+                    [
+                        "'contextMenuRun'",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 515,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "DetailedDescriptionCommand",
+            "type": [
+                [
+                    [
+                        "string",
+                        " | "
+                    ],
+                    [
+                        "DetailedDescriptionCommandObject"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 844,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "InteractionHandlerParseResult",
+            "type": [
+                [
+                    [
+                        "UnwrapMaybeValue",
+                        "<"
+                    ],
+                    [
+                        "Awaited",
+                        "<"
+                    ],
+                    [
+                        "ReturnType",
+                        "<"
+                    ],
+                    [
+                        "Instance",
+                        "["
+                    ],
+                    [
+                        "'parse'",
+                        "]>>>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 97,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "LogMethods",
+            "type": [
+                [
+                    [
+                        "'trace'",
+                        " | "
+                    ],
+                    [
+                        "'debug'",
+                        " | "
+                    ],
+                    [
+                        "'info'",
+                        " | "
+                    ],
+                    [
+                        "'warn'",
+                        " | "
+                    ],
+                    [
+                        "'error'"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 54,
+                "file": "Logger.ts",
+                "path": "src/lib/utils/logger"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "Maybe",
+            "description": "A type used to express a value that may or may not exist.",
+            "type": [
+                [
+                    [
+                        "Some",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        "> | "
+                    ],
+                    [
+                        "None"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 6,
+                "file": "Maybe.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "type",
+            "isExternal": true
+        },
+        {
+            "name": "MessageCommand",
+            "type": [
+                [
+                    [
+                        "Command",
+                        " & "
+                    ],
+                    [
+                        "Required",
+                        "<"
+                    ],
+                    [
+                        "Pick",
+                        "<"
+                    ],
+                    [
+                        "Command",
+                        ", "
+                    ],
+                    [
+                        "'messageRun'",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 493,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "Option",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "Some",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        "> | "
+                    ],
+                    [
+                        "None"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 45,
+                "file": "Lexure.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "type",
+            "isExternal": true
+        },
+        {
+            "name": "PreconditionArrayResolvable",
+            "description": "Defines the data accepted by {@link PreconditionContainerArray}'s constructor.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "readonly",
+                        " "
+                    ],
+                    [
+                        "Array",
+                        "<"
+                    ],
+                    [
+                        "PreconditionEntryResolvable",
+                        "> | "
+                    ],
+                    [
+                        "PreconditionArrayResolvableDetails"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 75,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionContainerResult",
+            "description": "Defines the result's value for a PreconditionContainer.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "Result",
+                        "<"
+                    ],
+                    [
+                        "unknown",
+                        ", "
+                    ],
+                    [
+                        "UserError",
+                        ">"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 12,
+                "file": "IPreconditionContainer.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionContainerReturn",
+            "description": "Defines the return type of the generic {@link IPreconditionContainer.messageRun}.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "Awaitable",
+                        "<"
+                    ],
+                    [
+                        "PreconditionContainerResult",
+                        ">"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 18,
+                "file": "IPreconditionContainer.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionEntryResolvable",
+            "description": "Defines the data accepted for each entry of the array.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "PreconditionSingleResolvable",
+                        " | "
+                    ],
+                    [
+                        "PreconditionArrayResolvable"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 83,
+                "file": "PreconditionContainerArray.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionKeys",
+            "type": [
+                [
+                    [
+                        "keyof",
+                        " "
+                    ],
+                    [
+                        "Preconditions"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 128,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionResult",
+            "type": [
+                [
+                    [
+                        "Awaitable",
+                        "<"
+                    ],
+                    [
+                        "Result",
+                        "<"
+                    ],
+                    [
+                        "unknown",
+                        ", "
+                    ],
+                    [
+                        "UserError",
+                        ">>"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 10,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "PreconditionSingleResolvable",
+            "description": "Defines the data accepted by {@link PreconditionContainerSingle}'s constructor.",
+            "see": [],
+            "deprecated": false,
+            "type": [
+                [
+                    [
+                        "SimplePreconditionKeys",
+                        " | "
+                    ],
+                    [
+                        "SimplePreconditionSingleResolvableDetails",
+                        " | "
+                    ],
+                    [
+                        "PreconditionSingleResolvableDetails"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 43,
+                "file": "PreconditionContainerSingle.ts",
+                "path": "src/lib/utils/preconditions"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "Result",
+            "description": "A type used to express computations that can fail.",
+            "type": [
+                [
+                    [
+                        "Ok",
+                        "<"
+                    ],
+                    [
+                        "T",
+                        "> | "
+                    ],
+                    [
+                        "Err",
+                        "<"
+                    ],
+                    [
+                        "E",
+                        ">"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 7,
+                "file": "Result.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "type",
+            "isExternal": true
+        },
+        {
+            "name": "SapphirePrefix",
+            "description": "A valid prefix in Sapphire.\n* `string`: a single prefix, e.g. `'!'`.\n* `string[]`: an array of prefixes, e.g. `['!', '.']`.\n* `null`: disabled prefix, locks the bot's command usage to mentions only.",
+            "type": [
+                [
+                    [
+                        "string",
+                        " | "
+                    ],
+                    [
+                        "readonly",
+                        " "
+                    ],
+                    [
+                        "Array",
+                        "<"
+                    ],
+                    [
+                        "string",
+                        "> | "
+                    ],
+                    [
+                        "null"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 26,
+                "file": "SapphireClient.ts",
+                "path": "src/lib"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "SimplePreconditionKeys",
+            "type": [
+                [
+                    [
+                        "unknown",
+                        "["
+                    ],
+                    [
+                        "PreconditionKeys",
+                        "]"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 129,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "SyncPluginHooks",
+            "type": [
+                [
+                    [
+                        "Exclude",
+                        "<"
+                    ],
+                    [
+                        "PluginHook",
+                        ", "
+                    ],
+                    [
+                        "AsyncPluginHooks",
+                        ">"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 13,
+                "file": "PluginManager.ts",
+                "path": "src/lib/plugins"
+            },
+            "variant": "type"
+        },
+        {
+            "name": "UnwrapMaybeValue",
+            "type": [
+                [
+                    [
+                        "T",
+                        " "
+                    ],
+                    [
+                        "extends",
+                        " "
+                    ],
+                    [
+                        "Some",
+                        "<"
+                    ],
+                    [
+                        "V",
+                        "> ? "
+                    ],
+                    [
+                        "V",
+                        " : "
+                    ],
+                    [
+                        "never"
+                    ]
+                ]
+            ],
+            "meta": {
+                "line": 64,
+                "file": "Maybe.d.ts",
+                "path": "node_modules/@sapphire/result/dist/lib"
+            },
+            "variant": "type",
+            "isExternal": true
+        }
+    ],
+    "namespaces": [
+        {
+            "name": "AliasPiece",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "Piece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 700,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "AliasPieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 701,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "LocationJSON",
+                    "type": [
+                        [
+                            [
+                                "Piece",
+                                "."
+                            ],
+                            [
+                                "LocationJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 702,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "AliasPieceOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 699,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                }
+            ],
+            "meta": {
+                "line": 697,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "AllFlowsPrecondition",
+            "typeAliases": [
+                {
+                    "name": "AsyncResult",
+                    "type": [
+                        [
+                            [
+                                "AsyncPreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 157,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "PreconditionContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 155,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "PreconditionOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 154,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Result",
+                    "type": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 156,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 153,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ApplicationCommandRegistry",
+            "interfaces": [
+                {
+                    "name": "RegisterOptions",
+                    "meta": {
+                        "line": 458,
+                        "file": "ApplicationCommandRegistry.ts",
+                        "path": "src/lib/utils/application-commands"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "behaviorWhenNotIdentical",
+                            "description": "Specifies what we should do when the command is present, but not identical with the data you provided",
+                            "optional": true,
+                            "default": "`ApplicationCommandRegistries.getDefaultBehaviorWhenNotIdentical`",
+                            "type": [
+                                [
+                                    [
+                                        "RegisterBehavior"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "guildIds",
+                            "description": "If this is specified, the application commands will only be registered for these guild ids.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "idHints",
+                            "description": "Specifies a list of command ids that we should check in the event of a name mismatch",
+                            "optional": true,
+                            "default": "[]",
+                            "type": [
+                                [
+                                    [
+                                        "Array",
+                                        "<"
+                                    ],
+                                    [
+                                        "string",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "registerCommandIfMissing",
+                            "description": "If we should register the command when it is missing",
+                            "optional": true,
+                            "default": "true",
+                            "type": [
+                                [
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 457,
+                "file": "ApplicationCommandRegistry.ts",
+                "path": "src/lib/utils/application-commands"
+            }
+        },
+        {
+            "name": "Argument",
+            "typeAliases": [
+                {
+                    "name": "AsyncResult",
+                    "type": [
+                        [
+                            [
+                                "AsyncArgumentResult",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 105,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "ArgumentContext",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 103,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "ArgumentOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 102,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Result",
+                    "type": [
+                        [
+                            [
+                                "ArgumentResult",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 104,
+                        "file": "Argument.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 101,
+                "file": "Argument.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ArgumentError",
+            "interfaces": [
+                {
+                    "name": "Options",
+                    "description": "The options for {@link ArgumentError}.",
+                    "see": [],
+                    "deprecated": false,
+                    "meta": {
+                        "line": 30,
+                        "file": "ArgumentError.ts",
+                        "path": "src/lib/errors"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "argument",
+                            "description": "The argument that caused the error.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "IArgument",
+                                        "<"
+                                    ],
+                                    [
+                                        "T",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "context",
+                            "description": "The extra context to provide more information about this error.",
+                            "optional": true,
+                            "default": "null",
+                            "type": [
+                                [
+                                    [
+                                        "unknown"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "identifier",
+                            "description": "The identifier.",
+                            "optional": true,
+                            "default": "argument.name",
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "message",
+                            "description": "The message to be passed to the Error constructor.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "parameter",
+                            "description": "The parameter that failed to be parsed.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 25,
+                "file": "ArgumentError.ts",
+                "path": "src/lib/errors"
+            }
+        },
+        {
+            "name": "AutocompleteCommand",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "AliasPiece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 532,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Interaction",
+                    "type": [
+                        [
+                            [
+                                "AutocompleteInteraction",
+                                "<"
+                            ],
+                            [
+                                "Cached",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 535,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 531,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "CommandOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 530,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Registry",
+                    "type": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 536,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunContext",
+                    "type": [
+                        [
+                            [
+                                "AutocompleteCommandContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 534,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunInTypes",
+                    "type": [
+                        [
+                            [
+                                "CommandOptionsRunType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 533,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 529,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ChatInputCommand",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "AliasPiece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 508,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Interaction",
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction",
+                                "<"
+                            ],
+                            [
+                                "Cached",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 511,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 507,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "CommandOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 506,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Registry",
+                    "type": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 512,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunContext",
+                    "type": [
+                        [
+                            [
+                                "ChatInputCommandContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 510,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunInTypes",
+                    "type": [
+                        [
+                            [
+                                "CommandOptionsRunType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 509,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 505,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "Command",
+            "typeAliases": [
+                {
+                    "name": "AutocompleteInteraction",
+                    "type": [
+                        [
+                            [
+                                "AutocompleteInteraction"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 839,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "ChatInputInteraction",
+                    "type": [
+                        [
+                            [
+                                "CommandInteraction"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 835,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "AliasPiece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 833,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "ContextMenuInteraction",
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 837,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 832,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "CommandOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 831,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Registry",
+                    "type": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 841,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunInTypes",
+                    "type": [
+                        [
+                            [
+                                "CommandOptionsRunType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 834,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 830,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "ContextMenuCommand",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "AliasPiece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 520,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Interaction",
+                    "type": [
+                        [
+                            [
+                                "ContextMenuInteraction",
+                                "<"
+                            ],
+                            [
+                                "Cached",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 523,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 519,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "CommandOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 518,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Registry",
+                    "type": [
+                        [
+                            [
+                                "ApplicationCommandRegistry"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 524,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunContext",
+                    "type": [
+                        [
+                            [
+                                "ContextMenuCommandContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 522,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunInTypes",
+                    "type": [
+                        [
+                            [
+                                "CommandOptionsRunType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 521,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 517,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "CorePreconditions",
+            "typeAliases": [
+                {
+                    "name": "CooldownContext",
+                    "type": [
+                        [
+                            [
+                                "CooldownPreconditionContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 102,
+                        "file": "index.ts",
+                        "path": "src"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "UserPermissionsPreconditionContext",
+                    "type": [
+                        [
+                            [
+                                "PermissionPreconditionContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "index.ts",
+                        "path": "src"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 100,
+                "file": "index.ts",
+                "path": "src"
+            }
+        },
+        {
+            "name": "InteractionHandler",
+            "typeAliases": [
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 101,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 100,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "ParseResult",
+                    "type": [
+                        [
+                            [
+                                "InteractionHandlerParseResult",
+                                "<"
+                            ],
+                            [
+                                "Instance",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 102,
+                        "file": "InteractionHandler.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 99,
+                "file": "InteractionHandler.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "Listener",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "Piece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 130,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "ListenerJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 129,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "ListenerOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 128,
+                        "file": "Listener.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 127,
+                "file": "Listener.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "MessageCommand",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "AliasPiece",
+                                "."
+                            ],
+                            [
+                                "Context"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 498,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "CommandJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 497,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "CommandOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 496,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunContext",
+                    "type": [
+                        [
+                            [
+                                "MessageCommandContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 500,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "RunInTypes",
+                    "type": [
+                        [
+                            [
+                                "CommandOptionsRunType"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 499,
+                        "file": "Command.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 495,
+                "file": "Command.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "Piece",
+            "typeAliases": [
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "PieceContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 484,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "JSON",
+                    "type": [
+                        [
+                            [
+                                "PieceJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 485,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "LocationJSON",
+                    "type": [
+                        [
+                            [
+                                "PieceLocationJSON"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 486,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "PieceOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 483,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                }
+            ],
+            "meta": {
+                "line": 481,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "Precondition",
+            "typeAliases": [
+                {
+                    "name": "AsyncResult",
+                    "type": [
+                        [
+                            [
+                                "AsyncPreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 150,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Context",
+                    "type": [
+                        [
+                            [
+                                "PreconditionContext"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 148,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "PreconditionOptions"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 147,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                },
+                {
+                    "name": "Result",
+                    "type": [
+                        [
+                            [
+                                "PreconditionResult"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 149,
+                        "file": "Precondition.ts",
+                        "path": "src/lib/structures"
+                    },
+                    "variant": "type"
+                }
+            ],
+            "meta": {
+                "line": 146,
+                "file": "Precondition.ts",
+                "path": "src/lib/structures"
+            }
+        },
+        {
+            "name": "PreconditionError",
+            "interfaces": [
+                {
+                    "name": "Options",
+                    "description": "The options for {@link PreconditionError}.",
+                    "see": [],
+                    "deprecated": false,
+                    "meta": {
+                        "line": 27,
+                        "file": "PreconditionError.ts",
+                        "path": "src/lib/errors"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "context",
+                            "description": "The extra context to provide more information about this error.",
+                            "optional": true,
+                            "default": "null",
+                            "type": [
+                                [
+                                    [
+                                        "unknown"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "identifier",
+                            "description": "The identifier.",
+                            "optional": true,
+                            "default": "precondition.name",
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "message",
+                            "description": "The message to be passed to the Error constructor.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "precondition",
+                            "description": "The precondition that caused the error.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Precondition",
+                                        "<"
+                                    ],
+                                    [
+                                        "PreconditionOptions",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 22,
+                "file": "PreconditionError.ts",
+                "path": "src/lib/errors"
+            }
+        },
+        {
+            "name": "Resolvers",
+            "interfaces": [
+                {
+                    "name": "EmojiObject",
+                    "meta": {
+                        "line": 29,
+                        "file": "emoji.ts",
+                        "path": "src/lib/resolvers"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "animated",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "boolean"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "id",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "null",
+                                        " | "
+                                    ],
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "name",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "null",
+                                        " | "
+                                    ],
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "name": "MessageResolverOptions",
+                    "meta": {
+                        "line": 9,
+                        "file": "message.ts",
+                        "path": "src/lib/resolvers"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "channel",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "DMChannel",
+                                        " | "
+                                    ],
+                                    [
+                                        "PartialDMChannel",
+                                        " | "
+                                    ],
+                                    [
+                                        "NewsChannel",
+                                        " | "
+                                    ],
+                                    [
+                                        "TextChannel",
+                                        " | "
+                                    ],
+                                    [
+                                        "ThreadChannel"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "message",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "Message",
+                                        "<"
+                                    ],
+                                    [
+                                        "boolean",
+                                        ">"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 1,
+                "file": "index.ts",
+                "path": "src/lib/resolvers"
+            }
+        },
+        {
+            "name": "Store",
+            "typeAliases": [
+                {
+                    "name": "Logger",
+                    "type": [
+                        [
+                            [
+                                "StoreLogger"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 378,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "Options",
+                    "type": [
+                        [
+                            [
+                                "StoreOptions",
+                                "<"
+                            ],
+                            [
+                                "T",
+                                ">"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 377,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                },
+                {
+                    "name": "RegistryEntries",
+                    "type": [
+                        [
+                            [
+                                "StoreRegistryEntries"
+                            ]
+                        ]
+                    ],
+                    "meta": {
+                        "line": 379,
+                        "file": "index.d.ts",
+                        "path": "node_modules/@sapphire/pieces/dist"
+                    },
+                    "variant": "type",
+                    "isExternal": true
+                }
+            ],
+            "meta": {
+                "line": 375,
+                "file": "index.d.ts",
+                "path": "node_modules/@sapphire/pieces/dist"
+            },
+            "isExternal": true
+        },
+        {
+            "name": "UserError",
+            "interfaces": [
+                {
+                    "name": "Options",
+                    "description": "The options for {@link UserError}.",
+                    "see": [],
+                    "deprecated": false,
+                    "meta": {
+                        "line": 38,
+                        "file": "UserError.ts",
+                        "path": "src/lib/errors"
+                    },
+                    "variant": "interface",
+                    "props": [
+                        {
+                            "name": "context",
+                            "description": "The extra context to provide more information about this error.",
+                            "optional": true,
+                            "default": "null",
+                            "type": [
+                                [
+                                    [
+                                        "unknown"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "identifier",
+                            "description": "The identifier for this error.",
+                            "optional": false,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        },
+                        {
+                            "name": "message",
+                            "description": "The message to be passed to the Error constructor.",
+                            "optional": true,
+                            "type": [
+                                [
+                                    [
+                                        "string"
+                                    ]
+                                ]
+                            ]
+                        }
+                    ]
+                }
+            ],
+            "meta": {
+                "line": 33,
+                "file": "UserError.ts",
+                "path": "src/lib/errors"
+            }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/docs/General/Welcome.mdx b/docs/General/Welcome.mdx
index 97002acb..4d42d0bc 100644
--- a/docs/General/Welcome.mdx
+++ b/docs/General/Welcome.mdx
@@ -294,7 +294,7 @@ If you don't understand something in the documentation, you are experiencing pro
 in the right direction, please don't hesitate to join our official
 [Sapphire Community Server](https://sapphirejs.dev/discord).
 
-[frameworksdocs]: ../Documentation/api-framework/
+[frameworksdocs]: ../Documentation/sapphire-framework/General/welcome
 [djs]: https://discord.js.org/
 [saphfw]: https://github.com/sapphiredev/framework
 [updating-guide]: ../Guide/getting-started/updating-from-v2-to-v3
diff --git a/docs/Guide/application-commands/application-command-registry/acquiring-an-application-command-registry.mdx b/docs/Guide/application-commands/application-command-registry/acquiring-an-application-command-registry.mdx
index cec02f15..c25b810a 100644
--- a/docs/Guide/application-commands/application-command-registry/acquiring-an-application-command-registry.mdx
+++ b/docs/Guide/application-commands/application-command-registry/acquiring-an-application-command-registry.mdx
@@ -37,6 +37,6 @@ Read [Registering Application Commands outside a Command][register-outside] for
 
 :::
 
-[register-application-commands]: ../../../Documentation/api-framework/classes/Command#registerapplicationcommands
-[command]: ../../../Documentation/api-framework/classes/Command
+[register-application-commands]: ../../../Documentation/sapphire-framework/class/Command#registerapplicationcommands
+[command]: ../../../Documentation/sapphire-framework/class/Command
 [register-outside]: ./advanced/registering-application-commands-outside-a-command
diff --git a/docs/Guide/application-commands/application-command-registry/advanced/routing-existing-application-commands-to-a-command.mdx b/docs/Guide/application-commands/application-command-registry/advanced/routing-existing-application-commands-to-a-command.mdx
index 10b9dc91..ebda6dbf 100644
--- a/docs/Guide/application-commands/application-command-registry/advanced/routing-existing-application-commands-to-a-command.mdx
+++ b/docs/Guide/application-commands/application-command-registry/advanced/routing-existing-application-commands-to-a-command.mdx
@@ -94,14 +94,14 @@ registry.addChatInputCommandIds('123456789123456789');
 ```
 
 [addchatinputcommandids]:
-  ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#addchatinputcommandids
+  ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#addchatinputcommandids
 [addchatinputcommandnames]:
-  ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#addchatinputcommandnames
+  ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#addchatinputcommandnames
 [addcontextmenucommandnames]:
-  ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#addcontextmenucommandnames
+  ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#addcontextmenucommandnames
 [addcontextmenucommandids]:
-  ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#addcontextmenucommandids
+  ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#addcontextmenucommandids
 [idhints]: ../registering-chat-input-commands#idhints
-[rcic]: ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#registerchatinputcommand
-[rcmc]: ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry#registercontextmenucommand
+[rcic]: ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#registerchatinputcommand
+[rcmc]: ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#registercontextmenucommand
 [registering-outside-command-class]: ./registering-application-commands-outside-a-command.mdx
diff --git a/docs/Guide/application-commands/application-command-registry/advanced/setting-global-behavior-when-not-identical.mdx b/docs/Guide/application-commands/application-command-registry/advanced/setting-global-behavior-when-not-identical.mdx
index 2c12649b..46653ed1 100644
--- a/docs/Guide/application-commands/application-command-registry/advanced/setting-global-behavior-when-not-identical.mdx
+++ b/docs/Guide/application-commands/application-command-registry/advanced/setting-global-behavior-when-not-identical.mdx
@@ -14,4 +14,4 @@ import { RegisterBehavior } from '@sapphire/framework';
 ApplicationCommandRegistries.setDefaultBehaviorWhenNotIdentical(RegisterBehavior.LogToConsole);
 ```
 
-[application-command-registry]: ../../../../Documentation/api-framework/classes/ApplicationCommandRegistry
+[application-command-registry]: ../../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry
diff --git a/docs/Guide/application-commands/application-command-registry/registering-chat-input-commands.mdx b/docs/Guide/application-commands/application-command-registry/registering-chat-input-commands.mdx
index 8791cf8d..b014000b 100644
--- a/docs/Guide/application-commands/application-command-registry/registering-chat-input-commands.mdx
+++ b/docs/Guide/application-commands/application-command-registry/registering-chat-input-commands.mdx
@@ -232,12 +232,12 @@ export class SlashCommand extends Command {
 
 The `chatInputRun` example above uses [interaction handlers][interaction-handlers], which are detailed in that section.
 
-[acr]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry
+[acr]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry
 [aaacr]: ./acquiring-an-application-command-registry.mdx
 [arguments]: ../../arguments/creating-your-own-arguments.mdx
-[behavior-log]: ../../../Documentation/api-framework/enums/RegisterBehavior#logtoconsole
-[behavior-overwrite]: ../../../Documentation/api-framework/enums/RegisterBehavior#overwrite
-[command]: ../../../Documentation/api-framework/classes/Command
+[behavior-log]: ../../../Documentation/sapphire-framework/enum/RegisterBehavior#logtoconsole
+[behavior-overwrite]: ../../../Documentation/sapphire-framework/enum/RegisterBehavior#overwrite
+[command]: ../../../Documentation/sapphire-framework/class/Command
 [configure-logging]: ../../plugins/Logger/configuring-loglevel
 [discord-deleting-application-commands]:
   https://discord.com/developers/docs/interactions/application-commands#updating-and-deleting-a-command
@@ -245,15 +245,15 @@ The `chatInputRun` example above uses [interaction handlers][interaction-handler
 [djs-slash-builder-docs]: https://discord.js.org/#/docs/builders/0.16.0/class/SlashCommandBuilder
 [djs-slash-command-options]: https://discordjs.guide/interactions/slash-commands.html#options
 [interaction-handlers]: ../interaction-handlers/what-are-they.mdx
-[loglevel-info]: ../../../Documentation/api-framework/enums/LogLevel#info
-[loglevel-debug]: ../../../Documentation/api-framework/enums/LogLevel#debug
-[rac]: ../../../Documentation/api-framework/classes/Command#registerapplicationcommands
-[rcic]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry#registerchatinputcommand
+[loglevel-info]: ../../../Documentation/sapphire-framework/enum/LogLevel#info
+[loglevel-debug]: ../../../Documentation/sapphire-framework/enum/LogLevel#debug
+[rac]: ../../../Documentation/sapphire-framework/class/Command#registerapplicationcommands
+[rcic]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#registerchatinputcommand
 [what-is-it]: ./what-is-it
-[idhints]: ../../../Documentation/api-framework/interfaces/ApplicationCommandRegistry.RegisterOptions#idhints
-[guildids]: ../../../Documentation/api-framework/interfaces/ApplicationCommandRegistry.RegisterOptions#guildids
+[idhints]: ../../../Documentation/sapphire-framework/interface/ApplicationCommandRegistry.RegisterOptions#idhints
+[guildids]: ../../../Documentation/sapphire-framework/interface/ApplicationCommandRegistry.RegisterOptions#guildids
 [behaviorwhennotidentical]:
-  ../../../Documentation/api-framework/interfaces/ApplicationCommandRegistry.RegisterOptions#behaviorwhennotidentical
+  ../../../Documentation/sapphire-framework/interface/ApplicationCommandRegistry.RegisterOptions#behaviorwhennotidentical
 [registercommandifmissing]:
-  ../../../Documentation/api-framework/interfaces/ApplicationCommandRegistry.RegisterOptions#registercommandifmissing
+  ../../../Documentation/sapphire-framework/interface/ApplicationCommandRegistry.RegisterOptions#registercommandifmissing
 [inner-ref-options]: #chat-input-command-registry-options
diff --git a/docs/Guide/application-commands/application-command-registry/registering-context-commands.mdx b/docs/Guide/application-commands/application-command-registry/registering-context-commands.mdx
index 4740ce8a..8d40de77 100644
--- a/docs/Guide/application-commands/application-command-registry/registering-context-commands.mdx
+++ b/docs/Guide/application-commands/application-command-registry/registering-context-commands.mdx
@@ -179,14 +179,14 @@ Since `contextMenuRun` runs both kind of context commands, we recommend using ei
 
 :::
 
-[acr]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry
+[acr]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry
 [cicro]: ./registering-chat-input-commands.mdx#chat-input-command-registry-options
-[command]: ../../../Documentation/api-framework/classes/Command
+[command]: ../../../Documentation/sapphire-framework/class/Command
 [cmce]: ./message-context-menu-command.png
 [djs-command-data-docs]: https://discord.js.org/#/docs/discord.js/v13/typedef/ApplicationCommandData
 [djs-context-menu-command-builder-docs]: https://discord.js.org/#/docs/builders/0.16.0/class/ContextMenuCommandBuilder
-[rac]: ../../../Documentation/api-framework/classes/Command#registerapplicationcommands
+[rac]: ../../../Documentation/sapphire-framework/class/Command#registerapplicationcommands
 [registering-chat-input-commands]: ./registering-chat-input-commands.mdx
 [registering-chat-input-commands-options]: ./registering-chat-input-commands.mdx#chat-input-command-registry-options
-[rcic]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry#registerchatinputcommand
-[rcmc]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry#registercontextmenucommand
+[rcic]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#registerchatinputcommand
+[rcmc]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry#registercontextmenucommand
diff --git a/docs/Guide/application-commands/application-command-registry/what-is-it.mdx b/docs/Guide/application-commands/application-command-registry/what-is-it.mdx
index 10e6fb4f..0bd835ae 100644
--- a/docs/Guide/application-commands/application-command-registry/what-is-it.mdx
+++ b/docs/Guide/application-commands/application-command-registry/what-is-it.mdx
@@ -11,5 +11,5 @@ An [ApplicationCommandRegistry][application-command-registry] manages applicatio
 bot's commands. It handles things such as syncing application command data with Discord, routing multiple application
 commands to your command, and much more!
 
-[application-command-registry]: ../../../Documentation/api-framework/classes/ApplicationCommandRegistry
+[application-command-registry]: ../../../Documentation/sapphire-framework/class/ApplicationCommandRegistry
 [discord-application-command-docs]: https://discord.com/developers/docs/interactions/application-commands
diff --git a/docs/Guide/application-commands/interaction-handlers/autocomplete.mdx b/docs/Guide/application-commands/interaction-handlers/autocomplete.mdx
index 18811d4c..1299ddb7 100644
--- a/docs/Guide/application-commands/interaction-handlers/autocomplete.mdx
+++ b/docs/Guide/application-commands/interaction-handlers/autocomplete.mdx
@@ -82,5 +82,5 @@ If the autocomplete interaction runs via [`InteractionHandler`][interaction-hand
 `InteractionHandlerError` (`interactionHandlerError`) event.
 
 [interaction-handlers]: ./what-are-they.mdx
-[interaction-handler]: ../../../Documentation/api-framework/classes/InteractionHandler
-[autocomplete-run]: ../../../Documentation/api-framework/classes/Command#autocompleterun
+[interaction-handler]: ../../../Documentation/sapphire-framework/class/InteractionHandler
+[autocomplete-run]: ../../../Documentation/sapphire-framework/class/Command#autocompleterun
diff --git a/docs/Guide/application-commands/interaction-handlers/message-components.mdx b/docs/Guide/application-commands/interaction-handlers/message-components.mdx
index 9b25385d..430d6143 100644
--- a/docs/Guide/application-commands/interaction-handlers/message-components.mdx
+++ b/docs/Guide/application-commands/interaction-handlers/message-components.mdx
@@ -42,8 +42,8 @@ export class MessageComponentHandler extends InteractionHandler {
 }
 ```
 
-[interactionhandlertypes]: ../../../Documentation/api-framework/enums/InteractionHandlerTypes
-[messagecomponent]: ../../../Documentation/api-framework/enums/InteractionHandlerTypes#messagecomponent
-[interaction-handler]: ../../../Documentation/api-framework/classes/InteractionHandler
+[interactionhandlertypes]: ../../../Documentation/sapphire-framework/enum/InteractionHandlerTypes
+[messagecomponent]: ../../../Documentation/sapphire-framework/enum/InteractionHandlerTypes#messagecomponent
+[interaction-handler]: ../../../Documentation/sapphire-framework/class/InteractionHandler
 [buttons]: ./buttons.mdx
 [select-menus]: ./select-menus.mdx
diff --git a/docs/Guide/arguments/built-in-arguments.mdx b/docs/Guide/arguments/built-in-arguments.mdx
index b9f8223e..7de7f7e5 100644
--- a/docs/Guide/arguments/built-in-arguments.mdx
+++ b/docs/Guide/arguments/built-in-arguments.mdx
@@ -60,7 +60,7 @@ To facilitate creating commands and getting your bot running, Sapphire bundles a
 [date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
 [dmchannel]: https://discord.js.org/#/docs/main/v13/class/DMChannel
 [guildchannel]: https://discord.js.org/#/docs/main/v13/class/GuildChannel
-[emojiobject]: ../../Documentation/api-framework/interfaces/EmojiObject
+[emojiobject]: ../../Documentation/sapphire-framework/interface/EmojiObject
 [guildmember]: https://discord.js.org/#/docs/main/v13/class/GuildMember
 [mdn-date]:
   https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#several_ways_to_create_a_date_object
diff --git a/docs/Guide/arguments/using-arguments.mdx b/docs/Guide/arguments/using-arguments.mdx
index dcf81f6d..bd6c03f9 100644
--- a/docs/Guide/arguments/using-arguments.mdx
+++ b/docs/Guide/arguments/using-arguments.mdx
@@ -262,8 +262,8 @@ export class MathsCommand extends Command {
 
 The code above matches any number of members up to 5, so it will never return an array of 6 or more.
 
-[pick]: ../../Documentation/api-framework/classes/Args#pick
-[rest]: ../../Documentation/api-framework/classes/Args#rest
-[repeat]: ../../Documentation/api-framework/classes/Args#repeat
+[pick]: ../../Documentation/sapphire-framework/class/Args#pick
+[rest]: ../../Documentation/sapphire-framework/class/Args#rest
+[repeat]: ../../Documentation/sapphire-framework/class/Args#repeat
 [iterator]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#iterators
 [djs-slash-guide-options]: https://discordjs.guide/interactions/slash-commands.html#options
diff --git a/docs/Guide/arguments/using-flags.mdx b/docs/Guide/arguments/using-flags.mdx
index 5bd3154e..4be899b8 100644
--- a/docs/Guide/arguments/using-flags.mdx
+++ b/docs/Guide/arguments/using-flags.mdx
@@ -122,5 +122,5 @@ export class FlagsCommand extends Command {
 }
 ```
 
-[getflags]: ../../Documentation/api-framework/classes/Args#getflags
-[rest]: ../../Documentation/api-framework/classes/Args#rest
+[getflags]: ../../Documentation/sapphire-framework/class/Args#getflags
+[rest]: ../../Documentation/sapphire-framework/class/Args#rest
diff --git a/docs/Guide/arguments/using-options.mdx b/docs/Guide/arguments/using-options.mdx
index a0d83717..cb08cc8f 100644
--- a/docs/Guide/arguments/using-options.mdx
+++ b/docs/Guide/arguments/using-options.mdx
@@ -125,7 +125,7 @@ export class OptionsCommand extends Command {
 }
 ```
 
-[getoption]: ../../Documentation/api-framework/classes/Args#getOption
-[getoptions]: ../../Documentation/api-framework/classes/Args#getOptions
-[pick]: ../../Documentation/api-framework/classes/Args#pick
-[rest]: ../../Documentation/api-framework/classes/Args#rest
+[getoption]: ../../Documentation/sapphire-framework/class/Args#getOption
+[getoptions]: ../../Documentation/sapphire-framework/class/Args#getOptions
+[pick]: ../../Documentation/sapphire-framework/class/Args#pick
+[rest]: ../../Documentation/sapphire-framework/class/Args#rest
diff --git a/docs/Guide/getting-started/creating-a-basic-command.mdx b/docs/Guide/getting-started/creating-a-basic-command.mdx
index 2cf09686..5b7fe64c 100644
--- a/docs/Guide/getting-started/creating-a-basic-command.mdx
+++ b/docs/Guide/getting-started/creating-a-basic-command.mdx
@@ -144,9 +144,9 @@ For handling subcommands, please refer to the [Sapphire Plugin Subcommands][saph
 
 :::
 
-[command]: ../../Documentation/api-framework/classes/Command
-[commandoptions]: ../../Documentation/api-framework/interfaces/CommandOptions
+[command]: ../../Documentation/sapphire-framework/class/Command
+[commandoptions]: ../../Documentation/sapphire-framework/interface/CommandOptions
 [getting-started]: ./getting-started-with-sapphire
 [load-message-commands-option]:
-  ../../Documentation/api-framework/interfaces/SapphireClientOptions#loadmessagecommandlisteners
+  ../../Documentation/sapphire-framework/interface/SapphireClientOptions#loadmessagecommandlisteners
 [saph-plug-subcom]: ../plugins/Subcommands/getting-started
diff --git a/docs/Guide/getting-started/getting-started-with-sapphire.mdx b/docs/Guide/getting-started/getting-started-with-sapphire.mdx
index 2d0c6b20..ccf82735 100644
--- a/docs/Guide/getting-started/getting-started-with-sapphire.mdx
+++ b/docs/Guide/getting-started/getting-started-with-sapphire.mdx
@@ -86,7 +86,7 @@ And that's it for your `index.js` file! In the end, your directory should look l
     └── index.js
 ```
 
-[sapphire]: ../../Documentation/api-framework/classes/SapphireClient
+[sapphire]: ../../Documentation/sapphire-framework/class/SapphireClient
 [djs-client]: https://discord.js.org/#/docs/main/v13/class/Client
-[baseuserdirectory]: ../../Documentation/api-framework/interfaces/SapphireClientOptions#baseuserdirectory
+[baseuserdirectory]: ../../Documentation/sapphire-framework/interface/SapphireClientOptions#baseuserdirectory
 [securing-your-token]: https://discordjs.guide/preparations/setting-up-a-bot-application.html#your-token
diff --git a/docs/Guide/getting-started/updating-from-v2-to-v3.mdx b/docs/Guide/getting-started/updating-from-v2-to-v3.mdx
index e6cdfd52..d8caa395 100644
--- a/docs/Guide/getting-started/updating-from-v2-to-v3.mdx
+++ b/docs/Guide/getting-started/updating-from-v2-to-v3.mdx
@@ -340,36 +340,37 @@ uppercase `P` represents the [`Events`][events] object name)
 - `[P]`CommandError (`[p]CommandError`) - emitted when the command run method throws an error.
 - `[P]`CommandFinish (`[p]CommandFinish`) - emitted when the command run is finished.
 
-[`ipreconditioncontainer`]: ../../Documentation/api-framework/interfaces/IPreconditionContainer
-[`preconditioncontainerarray`]: ../../Documentation/api-framework/classes/PreconditionContainerArray
-[`preconditioncontainersingle`]: ../../Documentation/api-framework/classes/PreconditionContainerSingle
+[`ipreconditioncontainer`]: ../../Documentation/sapphire-framework/interface/IPreconditionContainer
+[`preconditioncontainerarray`]: ../../Documentation/sapphire-framework/class/PreconditionContainerArray
+[`preconditioncontainersingle`]: ../../Documentation/sapphire-framework/class/PreconditionContainerSingle
 [acr]: ../application-commands/application-command-registry/what-is-it.mdx
-[allflowsprecondition]: ../../Documentation/api-framework/classes/AllFlowsPrecondition
+[allflowsprecondition]: ../../Documentation/sapphire-framework/class/AllFlowsPrecondition
 [applicationcommandregistry]: ../application-commands/application-command-registry/what-is-it.mdx
 [autocomplete]: ../application-commands/interaction-handlers/autocomplete.mdx
-[chat-input-parallel]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#chatinputparallel
-[chat-input-sequential]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#chatinputsequential
-[command-acr]: ../../Documentation/api-framework/classes/Command#applicationcommandregistry
-[command-chat-input-run]: ../../Documentation/api-framework/classes/Command#chatinputrun
-[command-context-menu-run]: ../../Documentation/api-framework/classes/Command#contextmenurun
-[command-message-run]: ../../Documentation/api-framework/classes/Command#messagerun
-[command-rac]: ../../Documentation/api-framework/classes/Command#registerapplicationcommands
+[chat-input-parallel]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#chatinputparallel
+[chat-input-sequential]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#chatinputsequential
+[command-acr]: ../../Documentation/sapphire-framework/class/Command#applicationcommandregistry
+[command-chat-input-run]: ../../Documentation/sapphire-framework/class/Command#chatinputrun
+[command-context-menu-run]: ../../Documentation/sapphire-framework/class/Command#contextmenurun
+[command-message-run]: ../../Documentation/sapphire-framework/class/Command#messagerun
+[command-rac]: ../../Documentation/sapphire-framework/class/Command#registerapplicationcommands
 [commands]: #commands
-[context-menu-parallel]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#contextmenuparallel
-[context-menu-sequential]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#contextmenusequential
-[events]: ../../Documentation/api-framework/#events
-[fetchchannelfrominteraction]: ../../Documentation/api-framework/classes/Precondition#fetchchannelfrominteraction
-[idhints]: ../../Documentation/api-framework/interfaces/ApplicationCommandRegistry.RegisterOptions#idhints
-[ipreconditioncondition]: ../../Documentation/api-framework/interfaces/IPreconditionCondition
+[context-menu-parallel]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#contextmenuparallel
+[context-menu-sequential]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#contextmenusequential
+[events]: ../../Documentation/sapphire-framework/#events
+[fetchchannelfrominteraction]: ../../Documentation/sapphire-framework/class/Precondition#fetchchannelfrominteraction
+[idhints]: ../../Documentation/sapphire-framework/interface/ApplicationCommandRegistry.RegisterOptions#idhints
+[ipreconditioncondition]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition
 [loadmessagecommandlisteners]:
-  ../../Documentation/api-framework/interfaces/SapphireClientOptions#loadmessagecommandlisteners
-[message-parallel]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#messageparallel
-[message-sequential]: ../../Documentation/api-framework/interfaces/IPreconditionCondition#messagesequential
-[precondition-chat-input-run]: ../../Documentation/api-framework/classes/Precondition#chatinputrun
-[precondition-context-menu-run]: ../../Documentation/api-framework/classes/Precondition#contextmenurun
-[precondition-message-run]: ../../Documentation/api-framework/classes/Precondition#messagerun
+  ../../Documentation/asapphirepi-framework/interface/SapphireClientOptions#loadmessagecommandlisteners
+[message-parallel]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#messageparallel
+[message-sequential]: ../../Documentation/sapphire-framework/interface/IPreconditionCondition#messagesequential
+[precondition-chat-input-run]: ../../Documentation/sapphire-framework/class/Precondition#chatinputrun
+[precondition-context-menu-run]: ../../Documentation/sapphire-framework/class/Precondition#contextmenurun
+[precondition-message-run]: ../../Documentation/sapphire-framework/class/Precondition#messagerun
 [rcic-idhints]: ../application-commands/application-command-registry/registering-chat-input-commands#idhints
-[supportsautocompleteinteractions]: ../../Documentation/api-framework/classes/Command#supportsautocompleteinteractions
-[supportschatinputcommands]: ../../Documentation/api-framework/classes/Command#supportschatinputcommands
-[supportscontextmenucommands]: ../../Documentation/api-framework/classes/Command#supportscontextmenucommands
-[supportsmessagecommands]: ../../Documentation/api-framework/classes/Command#supportsmessagecommands
+[supportsautocompleteinteractions]:
+  ../../Documentation/sapphire-framework/class/Command#supportsautocompleteinteractions
+[supportschatinputcommands]: ../../Documentation/sapphire-framework/class/Command#supportschatinputcommands
+[supportscontextmenucommands]: ../../Documentation/sapphire-framework/class/Command#supportscontextmenucommands
+[supportsmessagecommands]: ../../Documentation/sapphire-framework/class/Command#supportsmessagecommands
diff --git a/docs/Guide/plugins/API/rate-limiting.mdx b/docs/Guide/plugins/API/rate-limiting.mdx
index d9031a30..7e8c0316 100644
--- a/docs/Guide/plugins/API/rate-limiting.mdx
+++ b/docs/Guide/plugins/API/rate-limiting.mdx
@@ -143,4 +143,4 @@ export class UserRoute extends Route {
 
 Now when a user gets rate limited they will receive a 429 error with a Retry-After header.
 
-[rlm]: ../../../Documentation/api-utilities/classes/ratelimits_src.RateLimitManager
+[rlm]: ../../../Documentation/sapphire-ratelimits/class/RateLimitManager
diff --git a/docs/Guide/plugins/Logger/configuring-loglevel.mdx b/docs/Guide/plugins/Logger/configuring-loglevel.mdx
index 2a3d4239..f984e9d8 100644
--- a/docs/Guide/plugins/Logger/configuring-loglevel.mdx
+++ b/docs/Guide/plugins/Logger/configuring-loglevel.mdx
@@ -47,4 +47,4 @@ to `Warn` then logger will not log `Info` log messages.
 
 :::
 
-[sapphire]: ../../../Documentation/api-framework/classes/SapphireClient
+[sapphire]: ../../../Documentation/sapphire-framework/class/SapphireClient
diff --git a/docs/Guide/plugins/i18next/getting-started.mdx b/docs/Guide/plugins/i18next/getting-started.mdx
index b795caed..332b2cad 100644
--- a/docs/Guide/plugins/i18next/getting-started.mdx
+++ b/docs/Guide/plugins/i18next/getting-started.mdx
@@ -297,28 +297,28 @@ export class PingCommand extends Command {
 }
 ```
 
-[`saphclientoptions`]: ../../../Documentation/api-framework/interfaces/SapphireClientOptions
-[`internationalizationcontext`]: ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext
-[resolve-key]: ../../../Documentation/api-plugins/modules/i18next_src.md#resolvekey
+[`saphclientoptions`]: ../../../Documentation/api-framework/interface/SapphireClientOptions
+[`internationalizationcontext`]: ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext
+[resolve-key]: ../../../Documentation/sapphire-plugin-i18next/function/resolvekey
 [fs-backend]: https://github.com/skyra-project/archid-components/tree/main/packages/i18next-backend
-[fetchlanguage]: ../../../Documentation/api-plugins/modules/i18next_src.md#fetchlanguage
-[i18n-options]: ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationOptions
-[sapphireclient]: ../../../Documentation/api-framework/classes/SapphireClient.md
+[fetchlanguage]: ../../../Documentation/sapphire-plugin-i18next/function/fetchlanguage
+[i18n-options]: ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationOptions
+[sapphireclient]: ../../../Documentation/sapphire-framework/class/SapphireClient.md
 [i18next]: https://i18next.com
 [plugin]: https://github.com/sapphiredev/plugins/tree/main/packages/i18next
 [using-container]: ../../additional-information/using-and-extending-container.mdx
 [internationalizationcontext.guild]:
-  ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext#guild
+  ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext#guild
 [internationalizationcontext.channel]:
-  ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext#channel
+  ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext#channel
 [internationalizationcontext.user]:
-  ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext#user
+  ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext#user
 [internationalizationcontext.interactionguildlocale]:
-  ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext#interactionguildlocale
+  ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext#interactionguildlocale
 [internationalizationcontext.interactionlocale]:
-  ../../../Documentation/api-plugins/interfaces/i18next_src.InternationalizationContext#interactionlocale
-[messagerun]: ../../../Documentation/api-framework/classes/Command.md#messagerun
-[chatinputrun]: ../../../Documentation/api-framework/classes/Command.md#chatinputrun
-[contextmenurun]: ../../../Documentation/api-framework/classes/Command.md#contextmenurun
-[fetcht]: ../../../Documentation/api-plugins/modules/i18next_src.md#fetcht
-[tfunction]: ../../../Documentation/api-plugins/interfaces/i18next_src.TFunction
+  ../../../Documentation/sapphire-plugin-i18next/interface/InternationalizationContext#interactionlocale
+[messagerun]: ../../../Documentation/sapphire-framework/class/Command.md#messagerun
+[chatinputrun]: ../../../Documentation/sapphire-framework/class/Command.md#chatinputrun
+[contextmenurun]: ../../../Documentation/sapphire-framework/class/Command.md#contextmenurun
+[fetcht]: ../../../Documentation/sapphire-plugin-i18next/function/fetcht
+[tfunction]: ../../../Documentation/sapphire-plugin-i18next/interface/TFunction
diff --git a/docs/Guide/preconditions/channel-types.mdx b/docs/Guide/preconditions/channel-types.mdx
index d1e405f9..50ed6c2c 100644
--- a/docs/Guide/preconditions/channel-types.mdx
+++ b/docs/Guide/preconditions/channel-types.mdx
@@ -35,6 +35,6 @@ Failure][reporting-precondition-failure].
 
 :::
 
-[runin]: ../../Documentation/api-framework/interfaces/CommandOptions#runin
-[runintypes]: ../../Documentation/api-framework/enums/CommandOptionsRunTypeEnum
+[runin]: ../../Documentation/sapphire-framework/interface/CommandOptions#runin
+[runintypes]: ../../Documentation/sapphire-framework/enum/CommandOptionsRunTypeEnum
 [reporting-precondition-failure]: ./reporting-precondition-failure
diff --git a/docs/Guide/preconditions/command-cooldown.mdx b/docs/Guide/preconditions/command-cooldown.mdx
index 4008f31a..a426786b 100644
--- a/docs/Guide/preconditions/command-cooldown.mdx
+++ b/docs/Guide/preconditions/command-cooldown.mdx
@@ -109,13 +109,13 @@ Failure][reporting-precondition-failure].
 
 :::
 
-[cooldowndelay]: ../../Documentation/api-framework/interfaces/CommandOptions#cooldowndelay
-[cooldownfilteredusers]: ../../Documentation/api-framework/interfaces/CommandOptions#cooldownfilteredusers
-[cooldownlimit]: ../../Documentation/api-framework/interfaces/CommandOptions#cooldownlimit
-[cooldownscope]: ../../Documentation/api-framework/interfaces/CommandOptions#cooldownscope
-[defaultcooldown]: ../../Documentation/api-framework/interfaces/SapphireClientOptions#defaultcooldown
-[sapphire]: ../../Documentation/api-framework/classes/SapphireClient
-[scopes]: ../../Documentation/api-framework/enums/BucketScope
+[cooldowndelay]: ../../Documentation/sapphire-framework/interface/CommandOptions#cooldowndelay
+[cooldownfilteredusers]: ../../Documentation/sapphire-framework/interface/CommandOptions#cooldownfilteredusers
+[cooldownlimit]: ../../Documentation/sapphire-framework/interface/CommandOptions#cooldownlimit
+[cooldownscope]: ../../Documentation/sapphire-framework/interface/CommandOptions#cooldownscope
+[defaultcooldown]: ../../Documentation/sapphire-framework/interface/SapphireClientOptions#defaultcooldown
+[sapphire]: ../../Documentation/sapphire-framework/class/SapphireClient
+[scopes]: ../../Documentation/sapphire-framework/enum/BucketScope
 [reporting-precondition-failure]: ./reporting-precondition-failure
-[timeutils]: ../../Documentation/api-utilities/modules/time_utilities_src
-[timeenum]: ../../Documentation/api-utilities/enums/time_utilities_src.Time
+[timeutils]: ../../Documentation/sapphire-time-utilities
+[timeenum]: ../../Documentation/sapphire-time-utilities/typedefs/Time
diff --git a/docs/Guide/preconditions/creating-your-own-preconditions.mdx b/docs/Guide/preconditions/creating-your-own-preconditions.mdx
index 15fb64c0..f5db1ce8 100644
--- a/docs/Guide/preconditions/creating-your-own-preconditions.mdx
+++ b/docs/Guide/preconditions/creating-your-own-preconditions.mdx
@@ -160,16 +160,16 @@ None of the following preconditions are bundled with Sapphire; as such you'd hav
 For a command with these preconditions to pass the denial checks, the `InVoiceChannel` precondition must pass, as well
 as `AdminOnly` _or_ both `OwnerOnly` and `ModOnly`.
 
-[all-flows-precondition]: ../../Documentation/api-framework/classes/AllFlowsPrecondition
+[all-flows-precondition]: ../../Documentation/sapphire-framework/class/AllFlowsPrecondition
 [creating-commands]: ../getting-started/creating-a-basic-command
-[precondition]: ../../Documentation/api-framework/classes/Precondition
-[preconditionmessagerun]: ../../Documentation/api-framework/classes/Precondition#messagerun
-[preconditionchatinputrun]: ../../Documentation/api-framework/classes/Precondition#chatinputrun
-[preconditioncontextmenurun]: ../../Documentation/api-framework/classes/Precondition#contextmenurun
-[preconditionok]: ../../Documentation/api-framework/classes/Precondition#ok
-[preconditionerror]: ../../Documentation/api-framework/classes/Precondition#error
-[preconditions-option]: ../../Documentation/api-framework/interfaces/CommandOptions#preconditions
-[preconditions-interface]: ../../Documentation/api-framework/interfaces/Preconditions
+[precondition]: ../../Documentation/sapphire-framework/class/Precondition
+[preconditionmessagerun]: ../../Documentation/sapphire-framework/class/Precondition#messagerun
+[preconditionchatinputrun]: ../../Documentation/sapphire-framework/class/Precondition#chatinputrun
+[preconditioncontextmenurun]: ../../Documentation/sapphire-framework/class/Precondition#contextmenurun
+[preconditionok]: ../../Documentation/sapphire-framework/class/Precondition#ok
+[preconditionerror]: ../../Documentation/sapphire-framework/class/Precondition#error
+[preconditions-option]: ../../Documentation/sapphire-framework/interface/CommandOptions#preconditions
+[preconditions-interface]: ../../Documentation/sapphire-framework/interface/Preconditions
 [preconditions-augment]:
   https://github.com/sapphiredev/examples/blob/main/examples/with-typescript-recommended/src/preconditions/OwnerOnly.ts#L27-L31
 [reporting-precondition-failure]: ./reporting-precondition-failure
diff --git a/docs/Guide/preconditions/handling-permissions.mdx b/docs/Guide/preconditions/handling-permissions.mdx
index f714b9eb..8f42f550 100644
--- a/docs/Guide/preconditions/handling-permissions.mdx
+++ b/docs/Guide/preconditions/handling-permissions.mdx
@@ -56,6 +56,6 @@ Failure][reporting-precondition-failure].
 
 :::
 
-[requireduserpermissions]: ../../Documentation/api-framework/interfaces/CommandOptions#requireduserpermissions
-[requiredclientpermissions]: ../../Documentation/api-framework/interfaces/CommandOptions#requiredclientpermissions
+[requireduserpermissions]: ../../Documentation/sapphire-framework/interface/CommandOptions#requireduserpermissions
+[requiredclientpermissions]: ../../Documentation/sapphire-framework/interface/CommandOptions#requiredclientpermissions
 [reporting-precondition-failure]: ./reporting-precondition-failure
diff --git a/docs/Guide/preconditions/reporting-precondition-failure.mdx b/docs/Guide/preconditions/reporting-precondition-failure.mdx
index 208ac572..8de651b4 100644
--- a/docs/Guide/preconditions/reporting-precondition-failure.mdx
+++ b/docs/Guide/preconditions/reporting-precondition-failure.mdx
@@ -106,8 +106,8 @@ throw a TypeScript error for trying to read property `silent` of type `unknown`.
 :::
 
 [listeners]: ../listeners/creating-your-own-listeners
-[error]: ../../Documentation/api-framework/classes/UserError
-[payload]: ../../Documentation/api-framework/interfaces/MessageCommandDeniedPayload
-[context]: ../../Documentation/api-framework/classes/UserError#context
-[preconditionerror]: ../../Documentation/api-framework/classes/Precondition#error
+[error]: ../../Documentation/sapphire-framework/class/UserError
+[payload]: ../../Documentation/sapphire-framework/interface/MessageCommandDeniedPayload
+[context]: ../../Documentation/sapphire-framework/class/UserError#context
+[preconditionerror]: ../../Documentation/sapphire-framework/class/Precondition#error
 [creating-preconditions]: ./creating-your-own-preconditions
diff --git a/docs/Guide/utilities/time-utilities.mdx b/docs/Guide/utilities/time-utilities.mdx
index e8fcd4d1..ab7f3e99 100644
--- a/docs/Guide/utilities/time-utilities.mdx
+++ b/docs/Guide/utilities/time-utilities.mdx
@@ -129,4 +129,7 @@ console.log(Timestamp.utc('2022-04-25'));
 ```
 
 [cron-strings]: https://en.wikipedia.org/wiki/Cron
-[time-enum]: ../../Documentation/api-utilities/enums/time_utilities_src.Time
+
+<!-- TODO: Check proper URL -->
+
+[time-enum]: ../../Documentation/sapphire-time-utilities/enum/Time
diff --git a/docusaurus-discordjs-docgen/package.json b/docusaurus-discordjs-docgen/package.json
new file mode 100644
index 00000000..15c5696a
--- /dev/null
+++ b/docusaurus-discordjs-docgen/package.json
@@ -0,0 +1,25 @@
+{
+	"name": "docusaurus-discordjs-docgen",
+	"version": "0.0.1",
+	"description": "A Docusaurus v2 plugin to build API documentation based on @discordjs/ts-docgen output.",
+	"main": "dist/index.js",
+	"files": [
+		"dist/"
+	],
+	"scripts": {
+		"build": "tsc",
+		"watch": "tsc -w",
+		"debug": "node --inspect scripts/debug.mjs"
+	},
+	"dependencies": {
+		"@sapphire/docusaurus-plugin-ts2esm2cjs": "^1.1.3",
+		"@sapphire/result": "^2.6.0",
+		"@sapphire/utilities": "^3.11.0",
+		"common-tags": "^1.8.2",
+		"css": "^3.0.0"
+	},
+	"devDependencies": {
+		"@docusaurus/types": "2.1.0",
+		"@types/common-tags": "^1.8.1"
+	}
+}
diff --git a/docusaurus-discordjs-docgen/scripts/debug.mjs b/docusaurus-discordjs-docgen/scripts/debug.mjs
new file mode 100644
index 00000000..e8c26943
--- /dev/null
+++ b/docusaurus-discordjs-docgen/scripts/debug.mjs
@@ -0,0 +1,70 @@
+import { fileURLToPath } from 'node:url';
+import parser from '../dist/index.js';
+
+const docusaurusDiscordjsDocgen = parser.default;
+
+const siteDir = new URL('../../', import.meta.url);
+const generatedFilesDir = new URL('.docusaurus/', siteDir);
+const outDir = new URL('build/', siteDir);
+const siteConfigPath = new URL('docusaurus.config.js', siteDir);
+
+const docgenJsonFile = new URL('data/framework.json', siteDir);
+const outDocs = new URL('docs/Documentation/sapphire-framework', siteDir);
+
+docusaurusDiscordjsDocgen(
+	{
+		siteDir: fileURLToPath(siteDir),
+		generatedFilesDir: fileURLToPath(generatedFilesDir),
+		siteConfig: {
+			title: 'Sapphire',
+			url: 'https://sapphirejs.dev',
+			baseUrl: '/',
+			onBrokenLinks: 'warn',
+			onBrokenMarkdownLinks: 'warn',
+			onDuplicateRoutes: 'throw',
+			favicon: 'img/favicon.ico',
+			tagline:
+				'Sapphire is a next-gen Discord bot framework for developers of all skill levels to make the best JavaScript/TypeScript based bots possible.',
+			organizationName: 'sapphiredev',
+			projectName: 'framework',
+			baseUrlIssueBanner: true,
+			i18n: {
+				defaultLocale: 'en',
+				locales: ['en'],
+				localeConfigs: {}
+			},
+			staticDirectories: ['static'],
+			customFields: {},
+			scripts: [],
+			stylesheets: [],
+			clientModules: [],
+			titleDelimiter: '|',
+			noIndex: false
+		},
+		siteConfigPath: fileURLToPath(siteConfigPath),
+		outDir: fileURLToPath(outDir),
+		baseUrl: '/',
+		i18n: {
+			defaultLocale: 'en',
+			locales: ['en'],
+			currentLocale: 'en',
+			localeConfigs: {
+				en: {
+					label: 'English',
+					direction: 'ltr',
+					htmlLang: 'en'
+				}
+			}
+		},
+		codeTranslations: {}
+	},
+	{
+		id: 'framework',
+		docgenJsonFile: fileURLToPath(docgenJsonFile),
+		out: fileURLToPath(outDocs),
+		sidebar: {
+			categoryLabel: '@sapphire/framework',
+			position: 0
+		}
+	}
+).loadContent();
diff --git a/docusaurus-discordjs-docgen/src/index.ts b/docusaurus-discordjs-docgen/src/index.ts
new file mode 100644
index 00000000..3ebe4e4d
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/index.ts
@@ -0,0 +1,50 @@
+import type { LoadContext } from '@docusaurus/types';
+import { from, isErr } from '@sapphire/result';
+import { readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { renderOutputFiles } from './lib/renderer/render';
+import { removeDir } from './lib/renderer/utils';
+import { writeCategoryYaml } from './lib/renderer/writeCategoryYaml';
+import type { Documentation } from './lib/types/docgen-output';
+import type { PluginOptions } from './lib/types/types';
+import { generateLogString } from './lib/utils/logger';
+import { getPluginOptions } from './lib/utils/options';
+import { pluginContainer } from './lib/utils/pluginContainer';
+
+// store list of plugin ids when running multiple instances
+const apps: string[] = [];
+
+export default function docusaurusDiscordjsDocgen(context: LoadContext, opts: Partial<PluginOptions>) {
+	return {
+		name: 'docusaurus-discordjs-docgen',
+		loadContent() {
+			if (opts.id && !apps.includes(opts.id)) {
+				apps.push(opts.id);
+
+				const { siteDir } = context;
+
+				const options = getPluginOptions(opts);
+
+				pluginContainer.pluginOptions = options;
+
+				const outputDir = resolve(siteDir, options.docsRoot, options.out);
+
+				removeDir(outputDir);
+
+				writeCategoryYaml(outputDir, '', options.sidebar.categoryLabel, options.sidebar.position ?? 0);
+
+				const docgenJsonFile = from<Documentation>(() => {
+					return JSON.parse(readFileSync(resolve(options.docgenJsonFile), 'utf8'));
+				});
+
+				if (isErr(docgenJsonFile)) {
+					throw new Error(generateLogString(`Failed to parse JSON file at path ${resolve(options.docgenJsonFile)}`, options.id));
+				}
+
+				const jsonFileContent = docgenJsonFile.value;
+
+				renderOutputFiles(jsonFileContent, outputDir, options);
+			}
+		}
+	};
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveClasses.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveClasses.ts
new file mode 100644
index 00000000..17c2d7c2
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveClasses.ts
@@ -0,0 +1,149 @@
+const baseLink = 'https://discord.js.org/#/docs/main/stable/class';
+
+const knownClasses = new Set([
+	'Activity',
+	'ActivityFlags',
+	'AnonymousGuild',
+	'Application',
+	'ApplicationCommand',
+	'ApplicationCommandManager',
+	'ApplicationCommandPermissionsManager',
+	'ApplicationFlags',
+	'AutocompleteInteraction',
+	'Base',
+	'BaseClient',
+	'BaseCommandInteraction',
+	'BaseGuild',
+	'BaseGuildEmoji',
+	'BaseGuildEmojiManager',
+	'BaseGuildTextChannel',
+	'BaseGuildVoiceChannel',
+	'BaseManager',
+	'BaseMessageComponent',
+	'BitField',
+	'ButtonInteraction',
+	'CachedManager',
+	'CategoryChannel',
+	'Channel',
+	'ChannelManager',
+	'Client',
+	'ClientApplication',
+	'ClientPresence',
+	'ClientUser',
+	'ClientVoiceManager',
+	'Collector',
+	'CommandInteraction',
+	'CommandInteractionOptionResolver',
+	'ContextMenuInteraction',
+	'DataManager',
+	'DiscordAPIError',
+	'DMChannel',
+	'Emoji',
+	'Formatters',
+	'Guild',
+	'GuildApplicationCommandManager',
+	'GuildAuditLogs',
+	'GuildAuditLogsEntry',
+	'GuildBan',
+	'GuildBanManager',
+	'GuildChannel',
+	'GuildChannelManager',
+	'GuildEmoji',
+	'GuildEmojiManager',
+	'GuildEmojiRoleManager',
+	'GuildInviteManager',
+	'GuildManager',
+	'GuildMember',
+	'GuildMemberManager',
+	'GuildMemberRoleManager',
+	'GuildPreview',
+	'GuildPreviewEmoji',
+	'GuildStickerManager',
+	'GuildTemplate',
+	'HTTPError',
+	'Integration',
+	'IntegrationApplication',
+	'Intents',
+	'Interaction',
+	'InteractionCollector',
+	'InteractionWebhook',
+	'Invite',
+	'InviteGuild',
+	'InviteStageInstance',
+	'LimitedCollection',
+	'Message',
+	'MessageActionRow',
+	'MessageAttachment',
+	'MessageButton',
+	'MessageCollector',
+	'MessageComponentInteraction',
+	'MessageEmbed',
+	'MessageFlags',
+	'MessageManager',
+	'MessageMentions',
+	'MessagePayload',
+	'MessageReaction',
+	'MessageSelectMenu',
+	'NewsChannel',
+	'OAuth2Guild',
+	'Options',
+	'PartialGroupDMChannel',
+	'PermissionOverwriteManager',
+	'PermissionOverwrites',
+	'Permissions',
+	'Presence',
+	'PresenceManager',
+	'RateLimitError',
+	'ReactionCollector',
+	'ReactionEmoji',
+	'ReactionManager',
+	'ReactionUserManager',
+	'RichPresenceAssets',
+	'Role',
+	'RoleManager',
+	'SelectMenuInteraction',
+	'Shard',
+	'ShardClientUtil',
+	'ShardingManager',
+	'SnowflakeUtil',
+	'StageChannel',
+	'StageInstance',
+	'StageInstanceManager',
+	'Sticker',
+	'StickerPack',
+	'StoreChannel',
+	'SystemChannelFlags',
+	'Team',
+	'TeamMember',
+	'TextChannel',
+	'ThreadChannel',
+	'ThreadManager',
+	'ThreadMember',
+	'ThreadMemberFlags',
+	'ThreadMemberManager',
+	'Typing',
+	'User',
+	'UserFlags',
+	'UserManager',
+	'Util',
+	'VoiceChannel',
+	'VoiceRegion',
+	'VoiceState',
+	'VoiceStateManager',
+	'Webhook',
+	'WebhookClient',
+	'WebSocketManager',
+	'WebSocketShard',
+	'WelcomeChannel',
+	'WelcomeScreen',
+	'Widget',
+	'WidgetMember'
+]);
+
+export function resolveClasses(name: string): string | undefined {
+	if (knownClasses.has(name)) {
+		return `${baseLink}/${name}`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveTypedefs.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveTypedefs.ts
new file mode 100644
index 00000000..cfd83d84
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/discordjs/resolveTypedefs.ts
@@ -0,0 +1,270 @@
+const baseLink = 'https://discord.js.org/#/docs/main/stable/typedef';
+
+const knownTypeDefs = new Set([
+	'ActivitiesOptions',
+	'ActivityOptions',
+	'ActivityParty',
+	'ActivityPlatform',
+	'ActivityTimestamps',
+	'ActivityType',
+	'AddApplicationCommandPermissionsOptions',
+	'AddGuildMemberOptions',
+	'AgentOptions',
+	'APIError',
+	'APIMessageActionRowComponent',
+	'APIRequest',
+	'ApplicationAsset',
+	'ApplicationCommandData',
+	'ApplicationCommandOption',
+	'ApplicationCommandOptionChoice',
+	'ApplicationCommandOptionData',
+	'ApplicationCommandOptionType',
+	'ApplicationCommandPermissionData',
+	'ApplicationCommandPermissions',
+	'ApplicationCommandPermissionType',
+	'ApplicationCommandResolvable',
+	'ApplicationCommandType',
+	'ApplicationResolvable',
+	'AuditLogAction',
+	'AuditLogActionType',
+	'AuditLogChange',
+	'AuditLogEntryTarget',
+	'AuditLogTargetType',
+	'AwaitMessageComponentOptions',
+	'AwaitMessagesOptions',
+	'AwaitReactionsOptions',
+	'BanOptions',
+	'Base64Resolvable',
+	'BaseApplicationCommandPermissionsOptions',
+	'BaseFetchOptions',
+	'BaseMessageComponentOptions',
+	'BaseMessageOptions',
+	'BitFieldResolvable',
+	'BroadcastEvalOptions',
+	'BufferResolvable',
+	'CacheFactory',
+	'CategoryChannelResolvable',
+	'CategoryCreateChannelOptions',
+	'ChannelData',
+	'ChannelLogsQueryOptions',
+	'ChannelPosition',
+	'ChannelResolvable',
+	'ChannelType',
+	'ChannelWebhookCreateOptions',
+	'ClientOptions',
+	'ClientPresenceStatus',
+	'ClientUserEditData',
+	'CollectorFilter',
+	'CollectorOptions',
+	'CollectorResetTimerOptions',
+	'ColorResolvable',
+	'CommandInteractionOption',
+	'CommandInteractionResolvedData',
+	'Constants',
+	'CreateInviteOptions',
+	'CreateRoleOptions',
+	'CrosspostedChannel',
+	'DateResolvable',
+	'DeconstructedSnowflake',
+	'DefaultMessageNotificationLevel',
+	'EditGuildTemplateOptions',
+	'EmbedField',
+	'EmbedFieldData',
+	'EmojiIdentifierResolvable',
+	'EmojiResolvable',
+	'EscapeMarkdownOptions',
+	'ExplicitContentFilterLevel',
+	'Features',
+	'FetchApplicationCommandOptions',
+	'FetchArchivedThreadOptions',
+	'FetchBanOptions',
+	'FetchBansOptions',
+	'FetchChannelOptions',
+	'FetchedThreads',
+	'FetchGuildOptions',
+	'FetchGuildsOptions',
+	'FetchInviteOptions',
+	'FetchInvitesOptions',
+	'FetchMemberOptions',
+	'FetchMembersOptions',
+	'FetchReactionUsersOptions',
+	'FetchRecommendedShardsOptions',
+	'FetchThreadsOptions',
+	'FileOptions',
+	'GuildApplicationCommandPermissionData',
+	'GuildAuditLogsFetchOptions',
+	'GuildBanResolvable',
+	'GuildChannelCloneOptions',
+	'GuildChannelCreateOptions',
+	'GuildChannelOverwriteOptions',
+	'GuildChannelResolvable',
+	'GuildCreateOptions',
+	'GuildEditData',
+	'GuildEmojiCreateOptions',
+	'GuildEmojiEditData',
+	'GuildInvitableChannelResolvable',
+	'GuildListMembersOptions',
+	'GuildMemberEditData',
+	'GuildMemberResolvable',
+	'GuildMembersChunk',
+	'GuildPruneMembersOptions',
+	'GuildResolvable',
+	'GuildRolePosition',
+	'GuildSearchMembersOptions',
+	'GuildStickerCreateOptions',
+	'GuildStickerEditData',
+	'GuildTemplateResolvable',
+	'GuildTextChannelResolvable',
+	'GuildVoiceChannelResolvable',
+	'GuildWidgetSettings',
+	'GuildWidgetSettingsData',
+	'HasApplicationCommandPermissionsOptions',
+	'HTTPAttachmentData',
+	'HTTPErrorData',
+	'HTTPOptions',
+	'ImageURLOptions',
+	'IntegrationAccount',
+	'IntegrationExpireBehavior',
+	'IntegrationType',
+	'IntentsResolvable',
+	'InteractionCollectorOptions',
+	'InteractionDeferReplyOptions',
+	'InteractionDeferUpdateOptions',
+	'InteractionReplyOptions',
+	'InteractionResponseType',
+	'InteractionType',
+	'InteractionUpdateOptions',
+	'InvalidRequestWarningData',
+	'InviteGenerationOptions',
+	'InviteResolvable',
+	'InviteScope',
+	'LifetimeFilterOptions',
+	'LimitedCollectionOptions',
+	'MakeErrorOptions',
+	'MembershipState',
+	'MessageActionRowComponent',
+	'MessageActionRowComponentOptions',
+	'MessageActionRowComponentResolvable',
+	'MessageActionRowOptions',
+	'MessageActivity',
+	'MessageButtonOptions',
+	'MessageButtonStyle',
+	'MessageButtonStyleResolvable',
+	'MessageCollectorOptions',
+	'MessageComponent',
+	'MessageComponentCollectorOptions',
+	'MessageComponentOptions',
+	'MessageComponentType',
+	'MessageComponentTypeResolvable',
+	'MessageEditOptions',
+	'MessageEmbedAuthor',
+	'MessageEmbedFooter',
+	'MessageEmbedImage',
+	'MessageEmbedOptions',
+	'MessageEmbedProvider',
+	'MessageEmbedThumbnail',
+	'MessageEmbedVideo',
+	'MessageFile',
+	'MessageInteraction',
+	'MessageMentionOptions',
+	'MessageMentionsHasOptions',
+	'MessageMentionTypes',
+	'MessageOptions',
+	'MessageReactionResolvable',
+	'MessageReference',
+	'MessageResolvable',
+	'MessageSelectMenuOptions',
+	'MessageSelectOption',
+	'MessageSelectOptionData',
+	'MessageTarget',
+	'MessageType',
+	'MFALevel',
+	'MultipleShardRespawnOptions',
+	'MultipleShardSpawnOptions',
+	'NSFWLevel',
+	'OverwriteData',
+	'OverwriteResolvable',
+	'OverwriteType',
+	'Partial',
+	'PartialChannelData',
+	'PartialOverwriteData',
+	'PartialRecipient',
+	'PartialRoleData',
+	'PartialType',
+	'PermissionOverwriteOptions',
+	'PermissionResolvable',
+	'PremiumTier',
+	'PresenceData',
+	'PresenceResolvable',
+	'PresenceStatus',
+	'PresenceStatusData',
+	'PrivacyLevel',
+	'RateLimitData',
+	'RateLimitQueueFilter',
+	'RawEmoji',
+	'RawOverwriteData',
+	'ReactionCollectorOptions',
+	'RemoveApplicationCommandPermissionsOptions',
+	'ReplyMessageOptions',
+	'ReplyOptions',
+	'ResolvedOverwriteOptions',
+	'RoleData',
+	'RoleResolvable',
+	'SetApplicationCommandPermissionsOptions',
+	'SetChannelPositionOptions',
+	'SetParentOptions',
+	'SetRolePositionOptions',
+	'ShardingManagerMode',
+	'ShardingManagerOptions',
+	'ShardRespawnOptions',
+	'Snowflake',
+	'SplitOptions',
+	'StageChannelResolvable',
+	'StageInstanceCreateOptions',
+	'StageInstanceEditOptions',
+	'StartThreadOptions',
+	'StaticImageURLOptions',
+	'Status',
+	'StickerFormatType',
+	'StickerResolvable',
+	'StickerType',
+	'SweepFilter',
+	'SystemChannelFlagsResolvable',
+	'SystemMessageType',
+	'TargetType',
+	'TextBasedChannels',
+	'TextBasedChannelTypes',
+	'TextChannelResolvable',
+	'ThreadAutoArchiveDuration',
+	'ThreadChannelResolvable',
+	'ThreadChannelTypes',
+	'ThreadCreateOptions',
+	'ThreadEditData',
+	'ThreadMemberResolvable',
+	'TimestampStylesString',
+	'UserResolvable',
+	'Vanity',
+	'VerificationLevel',
+	'VoiceBasedChannelTypes',
+	'VoiceChannelResolvable',
+	'WebhookClientData',
+	'WebhookEditData',
+	'WebhookEditMessageOptions',
+	'WebhookFetchMessageOptions',
+	'WebhookMessageOptions',
+	'WebhookType',
+	'WebsocketOptions',
+	'WelcomeChannelData',
+	'WelcomeScreenEditData',
+	'WidgetActivity',
+	'WidgetChannel',
+	'WSEventType'
+]);
+
+export function resolveTypeDefs(name: string): string | undefined {
+	if (knownTypeDefs.has(name)) {
+		return `${baseLink}/${name}`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/THIRD_PARTY_LICENSE b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/THIRD_PARTY_LICENSE
new file mode 100644
index 00000000..81173e61
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/THIRD_PARTY_LICENSE
@@ -0,0 +1,19 @@
+Copyright 2021 Gerrit Birkeland
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveCss.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveCss.ts
new file mode 100644
index 00000000..69117e6f
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveCss.ts
@@ -0,0 +1,70 @@
+const cssPages = new Set([
+	// Reference
+	'AnimationEvent',
+	'CaretPosition',
+	'CSS',
+	'CSSConditionRule',
+	'CSSCounterStyleRule',
+	'CSSFontFaceRule',
+	'CSSGroupingRule',
+	'CSSImportRule',
+	'CSSKeyframeRule',
+	'CSSKeyframesRule',
+	'CSSMediaRule',
+	'CSSNamespaceRule',
+	'CSSPageRule',
+	'CSSRule',
+	'CSSRuleList',
+	'CSSStyleDeclaration',
+	'CSSStyleSheet',
+	'CSSStyleRule',
+	'CSSSupportsRule',
+	'FontFace',
+	'FontFaceSet',
+	'FontFaceSetLoadEvent',
+	'MediaList',
+	'MediaQueryList',
+	'MediaQueryListEvent',
+	'Screen',
+	'StyleSheet',
+	'StyleSheetList',
+	'TransitionEvent',
+
+	// CSS Typed Object Model
+	'CSSImageValue',
+	'CSSKeywordValue',
+	'CSSMathInvert',
+	'CSSMathMax',
+	'CSSMathMin',
+	'CSSMathNegate',
+	'CSSMathProduct',
+	'CSSMathSum',
+	'CSSMathValue',
+	'CSSMatrixComponent',
+	'CSSNumericArray',
+	'CSSNumericValue',
+	'CSSPerspective',
+	'CSSPositionValue',
+	'CSSRotate',
+	'CSSScale',
+	'CSSSkew',
+	'CSSSkewX',
+	'CSSSkewY',
+	'CSSStyleValue',
+	'CSSTransformComponent',
+	'CSSTransformValue',
+	'CSSTranslate',
+	'CSSUnitValue',
+	'CSSUnparsedValue',
+	'CSSVariableReferenceValue',
+	'StylePropertyMap',
+	'StylePropertyMapReadOnly '
+]);
+
+export function resolveCss(name: string) {
+	if (cssPages.has(name)) {
+		return `https://developer.mozilla.org/en-US/docs/Web/API/${name}`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveDom.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveDom.ts
new file mode 100644
index 00000000..42126c8c
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveDom.ts
@@ -0,0 +1,255 @@
+const webPages = new Set([
+	// Sidebar from HTMLElement page
+	'HTMLElement',
+	'BeforeUnloadEvent',
+	'DOMStringMap',
+	'ErrorEvent',
+	'GlobalEventHandlers',
+	'HTMLAnchorElement',
+	'HTMLAreaElement',
+	'HTMLAudioElement',
+	'HTMLBRElement',
+	'HTMLBaseElement',
+	'HTMLBaseFontElement',
+	'HTMLBodyElement',
+	'HTMLButtonElement',
+	'HTMLCanvasElement',
+	'HTMLContentElement',
+	'HTMLDListElement',
+	'HTMLDataElement',
+	'HTMLDataListElement',
+	'HTMLDialogElement',
+	'HTMLDivElement',
+	'HTMLDocument',
+	'HTMLEmbedElement',
+	'HTMLFieldSetElement',
+	'HTMLFormControlsCollection',
+	'HTMLFormElement',
+	'HTMLFrameSetElement',
+	'HTMLHRElement',
+	'HTMLHeadElement',
+	'HTMLHeadingElement',
+	'HTMLHtmlElement',
+	'HTMLIFrameElement',
+	'HTMLImageElement',
+	'HTMLInputElement',
+	'HTMLIsIndexElement',
+	'HTMLKeygenElement',
+	'HTMLLIElement',
+	'HTMLLabelElement',
+	'HTMLLegendElement',
+	'HTMLLinkElement',
+	'HTMLMapElement',
+	'HTMLMediaElement',
+	'HTMLMetaElement',
+	'HTMLMeterElement',
+	'HTMLModElement',
+	'HTMLOListElement',
+	'HTMLObjectElement',
+	'HTMLOptGroupElement',
+	'HTMLOptionElement',
+	'HTMLOptionsCollection',
+	'HTMLOutputElement',
+	'HTMLParagraphElement',
+	'HTMLParamElement',
+	'HTMLPictureElement',
+	'HTMLPreElement',
+	'HTMLProgressElement',
+	'HTMLQuoteElement',
+	'HTMLScriptElement',
+	'HTMLSelectElement',
+	'HTMLShadowElement',
+	'HTMLSourceElement',
+	'HTMLSpanElement',
+	'HTMLStyleElement',
+	'HTMLTableCaptionElement',
+	'HTMLTableCellElement',
+	'HTMLTableColElement',
+	'HTMLTableDataCellElement',
+	'HTMLTableElement',
+	'HTMLTableHeaderCellElement',
+	'HTMLTableRowElement',
+	'HTMLTableSectionElement',
+	'HTMLTemplateElement',
+	'HTMLTextAreaElement',
+	'HTMLTimeElement',
+	'HTMLTitleElement',
+	'HTMLTrackElement',
+	'HTMLUListElement',
+	'HTMLUnknownElement',
+	'HTMLVideoElement',
+	'HashChangeEvent',
+	'History',
+	'ImageData',
+	'Location',
+	'MessageChannel',
+	'MessageEvent',
+	'MessagePort',
+	'Navigator',
+	'PageTransitionEvent',
+	'Plugin',
+	'PluginArray',
+	'PopStateEvent',
+	'PortCollection',
+	'PromiseRejectionEvent',
+	'RadioNodeList',
+	'Transferable',
+	'ValidityState',
+	'Window',
+	'WindowBase64',
+	'WindowEventHandlers',
+	'WindowTimers',
+
+	// DOM interfaces
+	'Attr',
+	'CDATASection',
+	'CharacterData',
+	'Comment',
+	'CustomEvent',
+	'Document',
+	'DocumentFragment',
+	'DocumentType',
+	'DOMException',
+	'DOMImplementation',
+	'DOMString',
+	'DOMTimeStamp',
+	'DOMStringList',
+	'DOMTokenList',
+	'Element',
+	'Event',
+	'EventTarget',
+	'HTMLCollection',
+	'MutationObserver',
+	'MutationRecord',
+	'NamedNodeMap',
+	'Node',
+	'NodeFilter',
+	'NodeIterator',
+	'NodeList',
+	'ProcessingInstruction',
+	'Selection',
+	'Range',
+	'Text',
+	'TextDecoder',
+	'TextEncoder',
+	'TimeRanges',
+	'TreeWalker',
+	'URL',
+	'Window',
+	'Worker',
+	'XMLDocument',
+
+	// SVG interfaces
+	'SVGAElement',
+	'SVGAnimationElement',
+	'SVGAnimateElement',
+	'SVGAnimateMotionElement',
+	'SVGAnimateTransformElement',
+	'SVGCircleElement',
+	'SVGClipPathElement',
+	'SVGComponentTransferFunctionElement',
+	'SVGCursorElement',
+	'SVGDefsElement',
+	'SVGDescElement',
+	'SVGElement',
+	'SVGEllipseElement',
+	'SVGFEBlendElement',
+	'SVGFEColorMatrixElement',
+	'SVGFEComponentTransferElement',
+	'SVGFECompositeElement',
+	'SVGFEConvolveMatrixElement',
+	'SVGFEDiffuseLightingElement',
+	'SVGFEDisplacementMapElement',
+	'SVGFEDistantLightElement',
+	'SVGFEDropShadowElement',
+	'SVGFEFloodElement',
+	'SVGFEFuncAElement',
+	'SVGFEFuncBElement',
+	'SVGFEFuncGElement',
+	'SVGFEFuncRElement',
+	'SVGFEGaussianBlurElement',
+	'SVGFEImageElement',
+	'SVGFEMergeElement',
+	'SVGFEMergeNodeElement',
+	'SVGFEMorphologyElement',
+	'SVGFEOffsetElement',
+	'SVGFEPointLightElement',
+	'SVGFESpecularLightingElement',
+	'SVGFESpotLightElement',
+	'SVGFETileElement',
+	'SVGFETurbulenceElement',
+	'SVGFilterElement',
+	'SVGForeignObjectElement',
+	'SVGGElement',
+	'SVGGeometryElement',
+	'SVGGradientElement',
+	'SVGGraphicsElement',
+	'SVGImageElement',
+	'SVGLinearGradientElement',
+	'SVGLineElement',
+	'SVGMarkerElement',
+	'SVGMaskElement',
+	'SVGMetadataElement',
+	'SVGMPathElement',
+	'SVGPathElement',
+	'SVGPatternElement',
+	'SVGPolylineElement',
+	'SVGPolygonElement',
+	'SVGRadialGradientElement',
+	'SVGRectElement',
+	'SVGScriptElement',
+	'SVGSetElement',
+	'SVGStopElement',
+	'SVGStyleElement',
+	'SVGSVGElement',
+	'SVGSwitchElement',
+	'SVGSymbolElement',
+	'SVGTextContentElement',
+	'SVGTextElement',
+	'SVGTextPathElement',
+	'SVGTextPositioningElement',
+	'SVGTitleElement',
+	'SVGTSpanElement',
+	'SVGUseElement',
+	'SVGViewElement',
+
+	// SVG data type interfaces
+	'SVGAngle',
+	'SVGLength',
+	'SVGLengthList',
+	'SVGNumber',
+	'SVGNumberList',
+	'SVGPreserveAspectRatio',
+	'SVGStringList',
+	'SVGTransform',
+	'SVGTransformList',
+
+	// Animated type
+	'SVGAnimatedAngle',
+	'SVGAnimatedBoolean',
+	'SVGAnimatedEnumeration',
+	'SVGAnimatedInteger',
+	'SVGAnimatedLength',
+	'SVGAnimatedLengthList',
+	'SVGAnimatedNumber',
+	'SVGAnimatedNumberList',
+	'SVGAnimatedPoints',
+	'SVGAnimatedPreserveAspectRatio',
+	'SVGAnimatedRect',
+	'SVGAnimatedString',
+	'SVGAnimatedTransformList',
+
+	// SMIL-related interfaces
+	'TimeEvent',
+
+	// Other SVG interfaces
+	'SVGUnitTypes'
+]);
+
+export function resolveDom(name: string) {
+	if (webPages.has(name)) {
+		return `https://developer.mozilla.org/en-US/docs/Web/API/${name}`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveGlobals.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveGlobals.ts
new file mode 100644
index 00000000..a7aa1060
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/mdn/resolveGlobals.ts
@@ -0,0 +1,121 @@
+const baseLink = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects';
+
+const knownGlobalObjects = new Set([
+	// Value properties
+	'Infinity',
+	'NaN',
+	'undefined',
+	'globalThis',
+
+	// Function properties
+	'eval',
+	'isFinite',
+	'isNaN',
+	'parseFloat',
+	'parseInt',
+	'encodeURI',
+	'encodeURIComponent',
+	'decodeURI',
+	'decodeURIComponent',
+
+	// Fundamental objects
+	'Object',
+	'Function',
+	'Boolean',
+	'Symbol',
+
+	// Error objects
+	'Error',
+	'AggregateError',
+	'EvalError',
+	'InternalError',
+	'RangeError',
+	'ReferenceError',
+	'SyntaxError',
+	'TypeError',
+	'URIError',
+
+	// Numbers and dates
+	'Number',
+	'BigInt',
+	'Math',
+	'Date',
+
+	// Text processing
+	'String',
+	'RegExp',
+
+	// Indexed collections
+	'Array',
+	'Int8Array',
+	'Uint8Array',
+	'Uint8ClampedArray',
+	'Int16Array',
+	'Uint16Array',
+	'Int32Array',
+	'Uint32Array',
+	'Float32Array',
+	'Float64Array',
+	'BigInt64Array',
+	'BigUint64Array',
+
+	// Keyed collections
+	'Map',
+	'Set',
+	'WeakMap',
+	'WeakSet',
+
+	// Structured data
+	'ArrayBuffer',
+	'SharedArrayBuffer',
+	'Atomics',
+	'DataView',
+	'JSON',
+
+	// Control abstraction objects
+	'Promise',
+	'Generator',
+	'GeneratorFunction',
+	'AsyncFunction',
+	// "AsyncGenerator", // No file on MDN yet
+	// "AsyncGeneratorFunction", // No file on MDN yet
+
+	// Reflection
+	'Reflect',
+	'Proxy',
+
+	'Intl',
+	'WebAssembly'
+]);
+
+const knownScopedGlobalObjects = {
+	// Internationalization
+	Collator: 'Intl/Collator',
+	DateTimeFormat: 'Intl/DateTimeFormat',
+	ListFormat: 'Intl/ListFormat',
+	NumberFormat: 'Intl/NumberFormat',
+	PluralRules: 'Intl/PluralRules',
+	RelativeTimeFormat: 'Intl/RelativeTimeFormat',
+	Locale: 'Intl/Locale',
+
+	// WebAssembly
+	Module: 'WebAssembly/Module',
+	Instance: 'WebAssembly/Instance',
+	Memory: 'WebAssembly/Memory',
+	Table: 'WebAssembly/Table',
+	CompileError: 'WebAssembly/CompileError',
+	LinkError: 'WebAssembly/LinkError',
+	RuntimeError: 'WebAssembly/RuntimeError'
+};
+
+export function resolveGlobals(name: string) {
+	if (knownGlobalObjects.has(name)) {
+		return `${baseLink}/${name}`;
+	}
+
+	if (knownScopedGlobalObjects.hasOwnProperty(name)) {
+		return `${baseLink}/${knownScopedGlobalObjects[name as never]}`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/parsers.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/parsers.ts
new file mode 100644
index 00000000..6f8b42a4
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/parsers.ts
@@ -0,0 +1,177 @@
+import { isNullishOrEmpty } from '@sapphire/utilities';
+import type { Documentation } from '../../types/docgen-output';
+import { resolveClasses as resolveDiscordjsClasses } from './discordjs/resolveClasses';
+import { resolveTypeDefs as resolveDiscordjsTypedefs } from './discordjs/resolveTypedefs';
+import { resolveCss } from './mdn/resolveCss';
+import { resolveDom } from './mdn/resolveDom';
+import { resolveGlobals } from './mdn/resolveGlobals';
+import { resolveClasses as resolveSapphireClasses } from './sapphire/resolveClasses';
+import { resolveNamespaces as resolveSapphireNamespaces } from './sapphire/resolveNamespaces';
+import { resolveTypeDefs as resolveSapphireTypedefs } from './sapphire/resolveTypeDefs';
+
+const linkExtractorRegex = /{@link (?<match>[A-Za-z.]+)}/g;
+const genericTypeInfillRegex = /(?:(?:\[`)?[A-Za-z]+(?:`\]?)(?:\([\.A-Za-z\/]+\)))?<(?<match>[A-Za-z]+)>/g;
+const genericTypeRegex = /(?<match>[A-Za-z]+)(?:<\[?[A-Za-z]+\]?(?:\([\.A-Za-z\/]+\))?\\?>)?/g;
+
+type ReplaceArgs = [string, ...unknown[]];
+let hasReplacedWithLinkRegex = false;
+
+export function parseDocsLinks(jsonFileContent: Documentation, content: string) {
+	// Early exit if there is nothing to parse
+	if (isNullishOrEmpty(content)) return content;
+
+	content = content.replace(linkExtractorRegex, (match, ...args: ReplaceArgs) =>
+		parseSapphireExternals({
+			args,
+			isLinkReplacement: true,
+			jsonFileContent,
+			match
+		})
+	);
+
+	if (!hasReplacedWithLinkRegex) {
+		content = content.replace(genericTypeRegex, (match, ...args: ReplaceArgs) =>
+			parseSapphireExternals({
+				args,
+				isLinkReplacement: false,
+				jsonFileContent,
+				match
+			})
+		);
+
+		content = content.replace(genericTypeInfillRegex, (match, ...args: ReplaceArgs) =>
+			parseSapphireExternals({
+				args,
+				isLinkReplacement: false,
+				jsonFileContent,
+				match
+			})
+		);
+	}
+
+	hasReplacedWithLinkRegex = false;
+	content = content.replace(linkExtractorRegex, (match, ...args: ReplaceArgs) =>
+		parseDiscordjsExternals({
+			args,
+			isLinkReplacement: true,
+			match
+		})
+	);
+
+	if (!hasReplacedWithLinkRegex) {
+		content = content.replace(genericTypeRegex, (match, ...args: ReplaceArgs) =>
+			parseDiscordjsExternals({
+				args,
+				isLinkReplacement: false,
+				match
+			})
+		);
+
+		content = content.replace(genericTypeInfillRegex, (match, ...args: ReplaceArgs) =>
+			parseDiscordjsExternals({
+				args,
+				isLinkReplacement: false,
+				match
+			})
+		);
+	}
+
+	hasReplacedWithLinkRegex = false;
+	content = content.replace(linkExtractorRegex, (match, ...args: ReplaceArgs) =>
+		parseMdnExternals({
+			args,
+			isLinkReplacement: true,
+			match
+		})
+	);
+
+	if (!hasReplacedWithLinkRegex) {
+		content = content.replace(genericTypeRegex, (match, ...args: ReplaceArgs) =>
+			parseMdnExternals({
+				args,
+				isLinkReplacement: false,
+				match
+			})
+		);
+
+		content = content.replace(genericTypeInfillRegex, (match, ...args: ReplaceArgs) =>
+			parseMdnExternals({
+				args,
+				isLinkReplacement: false,
+				match
+			})
+		);
+	}
+
+	return content;
+}
+
+function parseMdnExternals({ match, args: [matchContent], isLinkReplacement }: ParseExternalsParameters) {
+	const mdnLink =
+		resolveGlobals(matchContent) ?? //
+		resolveDom(matchContent) ??
+		resolveCss(matchContent);
+
+	if (mdnLink) {
+		const markdownText = `[\`${matchContent}\`](${mdnLink})`;
+
+		if (isLinkReplacement) {
+			hasReplacedWithLinkRegex = true;
+
+			return markdownText;
+		}
+
+		return match.replace(matchContent, markdownText);
+	}
+
+	return match;
+}
+
+function parseDiscordjsExternals({ match, args: [matchContent], isLinkReplacement }: ParseExternalsParameters) {
+	const discordjsLink = resolveDiscordjsClasses(matchContent) ?? resolveDiscordjsTypedefs(matchContent);
+
+	if (discordjsLink) {
+		const markdownText = `[\`${matchContent}\`](${discordjsLink})`;
+
+		if (isLinkReplacement) {
+			hasReplacedWithLinkRegex = true;
+
+			return markdownText;
+		}
+
+		return match.replace(matchContent, markdownText);
+	}
+
+	return match;
+}
+
+function parseSapphireExternals({ match, jsonFileContent, args: [matchContent], isLinkReplacement }: ParseSapphireExternalsParameters) {
+	const sapphireDocsLink =
+		resolveSapphireClasses(matchContent, jsonFileContent.classes) ??
+		resolveSapphireTypedefs(matchContent, jsonFileContent.typedefs) ??
+		resolveSapphireNamespaces(matchContent, jsonFileContent.namespaces);
+
+	if (sapphireDocsLink) {
+		const markdownText = `[\`${matchContent}\`](${sapphireDocsLink})`;
+
+		if (isLinkReplacement) {
+			hasReplacedWithLinkRegex = true;
+
+			return markdownText;
+		}
+
+		return match.replace(matchContent, markdownText);
+	}
+
+	return match;
+}
+
+interface ParseExternalsParameters {
+	match: string;
+	args: ReplaceArgs;
+	isLinkReplacement: boolean;
+}
+
+interface ParseSapphireExternalsParameters extends ParseExternalsParameters {
+	jsonFileContent: Documentation;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveClasses.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveClasses.ts
new file mode 100644
index 00000000..02308e0c
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveClasses.ts
@@ -0,0 +1,19 @@
+import type { DocumentationClass } from '../../../types/docgen-output';
+import { resolveExternalPackage } from './resolveExternalPackage';
+
+export function resolveClasses(name: string, allClasses: DocumentationClass[]): string | undefined {
+	const allClassNames = allClasses.map((c) => c.name);
+	const docMeta = allClasses.find((c) => c.name === name)?.meta;
+
+	if (allClassNames.includes(name)) {
+		const externalPackage = resolveExternalPackage(docMeta);
+
+		if (externalPackage) {
+			return `../../${externalPackage}/class/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+		}
+
+		return `../class/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveExternalPackage.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveExternalPackage.ts
new file mode 100644
index 00000000..26cbcad3
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveExternalPackage.ts
@@ -0,0 +1,9 @@
+import type { DocumentationClassMeta } from '../../../types/docgen-output';
+
+export function resolveExternalPackage(meta?: DocumentationClassMeta) {
+	if (!meta?.path) return null;
+
+	if (!meta.path.includes('@sapphire')) return null;
+
+	return meta.path.replace(/.+@(sapphire)\/([0-9a-zA-Z\-\.]+).+/, '$1-$2');
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveNamespaces.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveNamespaces.ts
new file mode 100644
index 00000000..390dab1e
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveNamespaces.ts
@@ -0,0 +1,19 @@
+import type { DocumentationNamespace } from '../../../types/docgen-output';
+import { resolveExternalPackage } from './resolveExternalPackage';
+
+export function resolveNamespaces(name: string, allNamespaces: DocumentationNamespace[]): string | undefined {
+	const allNamespaceNames = allNamespaces.map((c) => c.name);
+	const docMeta = allNamespaces.find((c) => c.name === name)?.meta;
+
+	if (allNamespaceNames.includes(name)) {
+		const externalPackage = resolveExternalPackage(docMeta);
+
+		if (externalPackage) {
+			return `../../${externalPackage}/namespace/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+		}
+
+		return `../namespace/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveTypeDefs.ts b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveTypeDefs.ts
new file mode 100644
index 00000000..9a40c725
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/externals/sapphire/resolveTypeDefs.ts
@@ -0,0 +1,19 @@
+import type { DocumentationTypeDefinition } from '../../../types/docgen-output';
+import { resolveExternalPackage } from './resolveExternalPackage';
+
+export function resolveTypeDefs(name: string, allTypedefs: DocumentationTypeDefinition[]): string | undefined {
+	const allTypedefNames = allTypedefs.map((c) => c.name);
+	const docMeta = allTypedefs.find((c) => c.name === name)?.meta;
+
+	if (allTypedefNames.includes(name)) {
+		const externalPackage = resolveExternalPackage(docMeta);
+
+		if (externalPackage) {
+			return `../../${externalPackage}/typedef/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+		}
+
+		return `../typedef/${name.toLowerCase().replace(/\s/g, '-')}.mdx`;
+	}
+
+	return undefined;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/render.ts b/docusaurus-discordjs-docgen/src/lib/renderer/render.ts
new file mode 100644
index 00000000..57fd76f9
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/render.ts
@@ -0,0 +1,19 @@
+import type { Documentation } from '../types/docgen-output';
+import type { PluginOptions } from '../types/types';
+import { renderClasses } from './renderClass';
+import { renderCustom } from './renderCustomFile';
+import { renderTypedefs } from './renderTypedef';
+
+export function renderOutputFiles(jsonFileContent: Documentation, outputDir: string, _pluginOptions: PluginOptions) {
+	if (Reflect.has(jsonFileContent, 'custom')) {
+		renderCustom(jsonFileContent.custom, outputDir);
+	}
+
+	if (Reflect.has(jsonFileContent, 'classes')) {
+		renderClasses(jsonFileContent, jsonFileContent.classes, outputDir);
+	}
+
+	if (Reflect.has(jsonFileContent, 'typedefs')) {
+		renderTypedefs(jsonFileContent, jsonFileContent.typedefs, outputDir);
+	}
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/renderClass.ts b/docusaurus-discordjs-docgen/src/lib/renderer/renderClass.ts
new file mode 100644
index 00000000..c34707a7
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/renderClass.ts
@@ -0,0 +1,127 @@
+import { isNullishOrEmpty } from '@sapphire/utilities';
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { Documentation, DocumentationClass } from '../types/docgen-output';
+import { pluginContainer } from '../utils/pluginContainer';
+import { parseContent, parseSee } from './utils';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderClass(jsonFileContent: Documentation, docClass: DocumentationClass, outputDir: string, sidebarPosition: number) {
+	const slug = docClass.name.toLowerCase().replace(/\s/g, '-');
+
+	const classHeader = [
+		'---',
+		`id: "${slug}"`,
+		`title: "${docClass.name}"`,
+		`sidebar_label: "${docClass.name}"`,
+		`sidebar_position: ${sidebarPosition}`,
+		`custom_edit_url: null`,
+		'---'
+	].join('\n');
+
+	const classExtends = parseClassExtendsAndImplements(docClass.extends);
+	const classImplements = parseClassExtendsAndImplements(docClass.implements);
+
+	const classDescription = docClass.description ?? '';
+	const classExtendedDescription = docClass.extendedDescription ?? '';
+
+	const classResult = `${classHeader}
+${isNullishOrEmpty(classExtends) ? '' : `**extends ${parseContent(jsonFileContent, classExtends)}**`}
+${isNullishOrEmpty(classImplements) ? '' : `**implements ${parseContent(jsonFileContent, classImplements)}**`}
+
+${parseContent(jsonFileContent, classDescription)}
+
+${parseContent(jsonFileContent, classExtendedDescription)}
+${parseSee(jsonFileContent, docClass.see)}
+
+${parseExamples(docClass.examples)}
+
+${parseConstructor(jsonFileContent, docClass)}
+${parseProperties(jsonFileContent, docClass)}
+`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), classResult);
+}
+
+export function renderClasses(jsonFileContent: Documentation, documentationClasses: DocumentationClass[], outputDir: string) {
+	const categoryDir = writeCategoryYaml(outputDir, 'class', 'Classes', 1);
+
+	let fileSidebarPosition = 0;
+	for (const documentationClass of documentationClasses) {
+		if (documentationClass.isExternal) continue;
+
+		renderClass(jsonFileContent, documentationClass, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
+
+function parseClassExtendsAndImplements(classExtends?: string[] | string[][]) {
+	if (!classExtends) return '';
+
+	const zeroEntry = classExtends?.[0];
+
+	if (Array.isArray(zeroEntry)) {
+		return zeroEntry.join(', ');
+	}
+
+	return zeroEntry;
+}
+
+function parseExamples(examples?: string[]) {
+	if (isNullishOrEmpty(examples)) return '';
+
+	let examplesString = '## Examples\n\n';
+
+	for (const example of examples) {
+		const exampleWithPlugin = example.replace(/(```typescript)\n/g, '$1 ts2esm2cjs\n');
+
+		examplesString += `${exampleWithPlugin}\n\n`;
+	}
+
+	return examplesString;
+}
+
+function parseConstructor(jsonFileContent: Documentation, dClass: DocumentationClass) {
+	const classConstructorParameters = dClass.construct?.params?.map((param) => param.name).join(', ');
+
+	return `## Constructor
+
+\`\`\`typescript ts2esm2cjs
+import { ${dClass.name} } from '${pluginContainer.pluginOptions.packageName}';
+
+new ${dClass.name}(${classConstructorParameters});
+\`\`\`
+
+| Parameter | Type | Optional | Default | Description |
+| :---: | :---: | :---: | :---: | :---: |
+${dClass.construct?.params
+	?.map(
+		(param) =>
+			`| ${param.name} | ${parseContent(jsonFileContent, param.type.flat(2).join(''))} | ${param.optional ? 'Yes' : 'No'} | ${
+				param.default ?? ''
+			} | ${parseContent(jsonFileContent, param.description ?? 'N/A')} |`
+	)
+	.join('\n')}`;
+}
+
+function parseProperties(jsonFileContent: Documentation, dClass: DocumentationClass) {
+	const props = dClass.props ?? [];
+
+	if (props.length === 0) return '';
+
+	// TODO: Add support for modifiers like, optional, readonly, etc.
+
+	return `## Properties
+
+${props
+	.map(
+		(prop) => `### .${prop.name}**
+
+${parseContent(jsonFileContent, prop.description ?? '')}
+
+**Type**: ${parseContent(jsonFileContent, prop.type.flat(2).join(''))}
+`
+	)
+	.join('')}`;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/renderCustomFile.ts b/docusaurus-discordjs-docgen/src/lib/renderer/renderCustomFile.ts
new file mode 100644
index 00000000..975ca53f
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/renderCustomFile.ts
@@ -0,0 +1,51 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { DocumentationCustom, DocumentationCustomFile } from '../types/docgen-output';
+import { transformPlainCssToReactCss } from './transformPlainCssToReactCss';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+const replaceCssRegex = /style=\"(?<css>.*?)\"/g;
+
+function customFileStylesParser(content: string): string {
+	return content.replace(replaceCssRegex, (match, _p1, _offset, _string, groups) => {
+		if (groups.css) {
+			const transformed = transformPlainCssToReactCss(groups.css);
+			return `style={${JSON.stringify(transformed)}}`;
+		}
+
+		return match;
+	});
+}
+
+function renderCustomFile(slug: string, customFile: DocumentationCustomFile, outputDir: string, sidebarPosition: number) {
+	const lowercaseCustomFileType = customFile.type.toLowerCase();
+
+	if (lowercaseCustomFileType === 'md' || lowercaseCustomFileType === 'mdx' || lowercaseCustomFileType === 'markdown') {
+		const customFileHeader = [
+			'---',
+			`id: "${slug}"`,
+			`title: "${customFile.name}"`,
+			`sidebar_label: "${customFile.name}"`,
+			`sidebar_position: ${sidebarPosition}`,
+			`custom_edit_url: null`,
+			'---'
+		].join('\n');
+
+		const customFileResult = `${customFileHeader}\n${customFileStylesParser(customFile.content)}`;
+		writeFileSync(resolve(outputDir, `${slug}.mdx`), customFileResult);
+	}
+}
+export function renderCustom(documentationCustom: DocumentationCustom, outputDir: string) {
+	let categorySidebarPosition = 0;
+	for (const customCategory of Object.values(documentationCustom)) {
+		const categoryDir = writeCategoryYaml(outputDir, customCategory.name, customCategory.name, categorySidebarPosition);
+
+		let fileSidebarPosition = 0;
+		for (const [slug, file] of Object.entries(customCategory.files)) {
+			renderCustomFile(slug, file, categoryDir, fileSidebarPosition);
+			fileSidebarPosition++;
+		}
+
+		categorySidebarPosition++;
+	}
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/renderTypedef.ts b/docusaurus-discordjs-docgen/src/lib/renderer/renderTypedef.ts
new file mode 100644
index 00000000..6a1b20a1
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/renderTypedef.ts
@@ -0,0 +1,114 @@
+import { writeFileSync } from 'fs';
+import { resolve } from 'path';
+import type { Documentation, DocumentationTypeDefinition } from '../types/docgen-output';
+import { parseContent, parseSee } from './utils';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderTypedef(jsonFileContent: Documentation, docTypedef: DocumentationTypeDefinition, outputDir: string, sidebarPosition: number) {
+	const slug = docTypedef.name.toLowerCase().replace(/\s/g, '-');
+
+	const typedefHeader = [
+		'---',
+		`id: "${slug}"`,
+		`title: "${docTypedef.name}"`,
+		`sidebar_label: "${docTypedef.name}"`,
+		`sidebar_position: ${sidebarPosition}`,
+		`custom_edit_url: null`,
+		'---'
+	].join('\n');
+
+	const typedefDescription = docTypedef.description ?? '';
+	const typedefExtendedDescription = docTypedef.extendedDescription ?? '';
+
+	let typedefResult = `${typedefHeader}
+
+${parseContent(jsonFileContent, typedefDescription)}
+
+${parseContent(jsonFileContent, typedefExtendedDescription)}
+${parseSee(jsonFileContent, docTypedef.see)}
+`;
+
+	switch (docTypedef.variant) {
+		case 'enum':
+			typedefResult += parseEnum(jsonFileContent, docTypedef);
+
+			break;
+
+		case 'interface':
+			typedefResult += parseInterface(jsonFileContent, docTypedef);
+
+			break;
+
+		case 'type':
+			break;
+	}
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), typedefResult);
+}
+
+export function renderTypedefs(jsonFileContent: Documentation, documentationTypedefs: DocumentationTypeDefinition[], outputDir: string) {
+	const categoryDir = writeCategoryYaml(outputDir, 'typedef', 'Type Definitions', 1);
+
+	let fileSidebarPosition = 0;
+	for (const documentationTypedef of documentationTypedefs) {
+		if (documentationTypedef.isExternal) continue;
+
+		renderTypedef(jsonFileContent, documentationTypedef, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
+
+function parseEnum(jsonFileContent: Documentation, dEnum: DocumentationTypeDefinition) {
+	const props = dEnum.props ?? [];
+
+	if (props.length === 0) return '## Empty Enum';
+
+	let enumResult = props.some((prop) => prop.description)
+		? `| Property | Value | Description |
+| :---: | :---: | :---: |
+`
+		: `| Property | Value |
+| :---: | :---: |
+`;
+
+	for (const prop of dEnum.props ?? []) {
+		enumResult += props.some((prop) => prop.description)
+			? `| ${prop.name} | ${parseContent(jsonFileContent, prop.type.flat(2).join(''))} | ${parseContent(
+					jsonFileContent,
+					prop.description ?? 'N/A'
+			  )} |
+`
+			: `| ${prop.name} | ${parseContent(jsonFileContent, prop.type.flat(2).join(''))} |
+`;
+	}
+
+	return enumResult;
+}
+
+function parseInterface(jsonFileContent: Documentation, dInterface: DocumentationTypeDefinition) {
+	const props = dInterface.props ?? [];
+
+	if (props.length === 0) return '## Empty Interface';
+
+	let enumResult = props.some((prop) => prop.description)
+		? `| Property | Type | Optional | Description |
+| :---: | :---: | :---: | :---: |
+`
+		: `| Property | Type | Optional |
+| :---: | :---: | :---: |
+`;
+
+	for (const prop of dInterface.props ?? []) {
+		enumResult += props.some((prop) => prop.description)
+			? `| ${prop.name} | ${parseContent(jsonFileContent, prop.type.flat(2).join(''))} | ${prop.optional ? 'Yes' : 'No'} | ${parseContent(
+					jsonFileContent,
+					prop.description ?? 'N/A'
+			  )} |
+`
+			: `| ${prop.name} | ${parseContent(jsonFileContent, prop.type.flat(2).join(''))} | ${prop.optional ? 'Yes' : 'No'} |
+`;
+	}
+
+	return enumResult;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/transformPlainCssToReactCss.ts b/docusaurus-discordjs-docgen/src/lib/renderer/transformPlainCssToReactCss.ts
new file mode 100644
index 00000000..1733571b
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/transformPlainCssToReactCss.ts
@@ -0,0 +1,82 @@
+import { parse, type Rule } from 'css';
+
+type CssProperty = string | { __expression__: string };
+type CSSProperties = Record<string, CssProperty>;
+
+function transformRules(rules: Rule[], result: Record<string, CssProperty>) {
+	if (rules) {
+		rules.forEach((rule) => {
+			const obj = {};
+			if (rule.type === 'media') {
+				const name = mediaNameGenerator(rule.media);
+
+				result[name] ||= {
+					__expression__: rule.media
+				};
+
+				const media = result[name];
+
+				transformRules(rule.rules, media as any);
+			} else if (rule.type === 'rule') {
+				rule.declarations.forEach((declaration) => {
+					if (declaration.type === 'declaration') {
+						const cleanProperty = cleanPropertyName(declaration.property);
+
+						Reflect.set(obj, cleanProperty, declaration.value);
+					}
+				});
+
+				rule.selectors.forEach((selector) => {
+					const name = nameGenerator(selector.trim());
+
+					Reflect.set(result, name, obj);
+				});
+			}
+		});
+	}
+}
+
+const cleanPropertyName = (name: string) => {
+	// turn things like 'align-items' into 'alignItems'
+	name = name.replace(/(-.)/g, (v) => v[1].toUpperCase());
+
+	return name;
+};
+
+const mediaNameGenerator = (name: string) => `@media ${name}`;
+
+const nameGenerator = (name: string) => {
+	name = name.replace(/\s\s+/g, ' ');
+	name = name.replace(/[^a-zA-Z0-9]/g, '_');
+	name = name.replace(/^_+/g, '');
+	name = name.replace(/_+$/g, '');
+
+	return name;
+};
+
+export function transformPlainCssToReactCss(inputCssText: string): CSSProperties | CssProperty {
+	if (!inputCssText) {
+		throw new Error('missing css text to transform');
+	}
+
+	// If the input "css" doesn't wrap it with a css class (raw styles)
+	// we need to wrap it with a style so the css parser doesn't choke.
+	let bootstrapWithCssClass = false;
+	if (!inputCssText.includes('{')) {
+		bootstrapWithCssClass = true;
+		inputCssText = `.bootstrapWithCssClass { ${inputCssText} }`;
+	}
+
+	const css = parse(inputCssText);
+
+	const result: CSSProperties = {};
+
+	transformRules(css.stylesheet?.rules, result);
+
+	// Don't expose the implementation detail of our wrapped css class.
+	if (bootstrapWithCssClass) {
+		return result.bootstrapWithCssClass;
+	}
+
+	return result;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/utils.ts b/docusaurus-discordjs-docgen/src/lib/renderer/utils.ts
new file mode 100644
index 00000000..c00d915a
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/utils.ts
@@ -0,0 +1,43 @@
+import { existsSync, mkdirSync, readdirSync, rmdirSync, statSync, unlinkSync } from 'node:fs';
+import type { Documentation } from '../types/docgen-output';
+import { parseDocsLinks } from './externals/parsers';
+
+export function parseContent(jsonFileContent: Documentation, content: string) {
+	content = parseDocsLinks(jsonFileContent, content);
+
+	content = escapeGreaterThanSymbols(content);
+
+	return content;
+}
+
+export function parseSee(jsonFileContent: Documentation, see?: string[]) {
+	return see?.map((seeItem) => `\n**\`See also:\`** ${parseContent(jsonFileContent, seeItem)}`).join('\n') ?? '';
+}
+
+function escapeGreaterThanSymbols(markdown: string) {
+	return markdown.replace(/<([A-Za-z]+)>(?!`)/gm, '<$1\\>');
+}
+
+export function removeDir(outputDir: string) {
+	if (existsSync(outputDir)) {
+		const files = readdirSync(outputDir);
+		if (files.length > 0) {
+			files.forEach((filename) => {
+				if (statSync(`${outputDir}/${filename}`).isDirectory()) {
+					removeDir(`${outputDir}/${filename}`);
+				} else {
+					unlinkSync(`${outputDir}/${filename}`);
+				}
+			});
+			rmdirSync(outputDir);
+		} else {
+			rmdirSync(outputDir);
+		}
+	}
+}
+
+export function createDirIfNotExists(dir: string) {
+	if (!existsSync(dir)) {
+		mkdirSync(dir, { recursive: true });
+	}
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/renderer/writeCategoryYaml.ts b/docusaurus-discordjs-docgen/src/lib/renderer/writeCategoryYaml.ts
new file mode 100644
index 00000000..b9d4801b
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/renderer/writeCategoryYaml.ts
@@ -0,0 +1,19 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { createDirIfNotExists } from './utils';
+
+export function writeCategoryYaml(outputDir: string, categoryPath: string, categoryName: string, sidebarPosition: number) {
+	const categoryDir = resolve(outputDir, categoryPath);
+
+	createDirIfNotExists(categoryDir);
+
+	const categoryData = [
+		//
+		`label: "${categoryName}"`,
+		`position: ${sidebarPosition}`
+	].join('\n');
+
+	writeFileSync(resolve(categoryDir, '_category_.yml'), categoryData);
+
+	return categoryDir;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/types/css.d.ts b/docusaurus-discordjs-docgen/src/lib/types/css.d.ts
new file mode 100644
index 00000000..ca88f585
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/types/css.d.ts
@@ -0,0 +1,75 @@
+declare module 'css' {
+	export interface Start {
+		column: number;
+
+		line: number;
+	}
+
+	export interface End {
+		column: number;
+
+		line: number;
+	}
+
+	export interface Position {
+		end: End;
+
+		start: Start;
+	}
+
+	export interface Declaration {
+		position: Position;
+
+		property: string;
+
+		type: string;
+
+		value: string;
+	}
+
+	export interface Start2 {
+		column: number;
+
+		line: number;
+	}
+
+	export interface End2 {
+		column: number;
+
+		line: number;
+	}
+
+	export interface Position2 {
+		end: End2;
+
+		start: Start2;
+	}
+
+	export interface Rule {
+		declarations: Declaration[];
+
+		media: string;
+
+		position: Position2;
+
+		rules: Rule[];
+
+		selectors: string[];
+
+		type: string;
+	}
+
+	export interface Stylesheet {
+		parsingErrors: any[];
+
+		rules: Rule[];
+	}
+
+	export interface CssParserResult {
+		stylesheet: Stylesheet;
+
+		type: string;
+	}
+
+	export function parse(cssText: string): CssParserResult;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/types/docgen-output.ts b/docusaurus-discordjs-docgen/src/lib/types/docgen-output.ts
new file mode 100644
index 00000000..64bcf3f5
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/types/docgen-output.ts
@@ -0,0 +1,247 @@
+/**
+ * Copyright (c) 2021 iCrawl
+ * Copyright (c) 2020 Federico Grandi
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+interface DocumentationMeta {
+	date: number;
+	format: number;
+	generator: string;
+}
+
+export interface DocumentationClassMeta {
+	file: string;
+	line: number;
+	path: string;
+}
+type DocumentationClassMethodMeta = DocumentationClassMeta;
+
+type DocumentationClassMethodParameterMeta = DocumentationClassMeta;
+
+type DocumentationClassMethodPropertyMeta = DocumentationClassMeta;
+
+type DocumentationClassEventMeta = DocumentationClassMeta;
+
+type DocumentationExternalMeta = DocumentationClassMeta;
+
+type DocumentationTypeDefinitionMeta = DocumentationClassMeta;
+
+type DocumentationTypeDefinitionParameterMeta = DocumentationClassMeta;
+
+export interface DocumentationTypeAlias {
+	meta: DocumentationClassMeta;
+	name: string;
+	type?: string[][][];
+}
+
+export interface DocumentationInterface {
+	meta: DocumentationClassMethodPropertyMeta;
+	name: string;
+	props: DocumentationClassPropertyProperty[];
+}
+
+export interface DocumentationParameter {
+	abstract?: boolean;
+	access?: string;
+	default: string;
+	deprecated?: boolean | string;
+	description?: string;
+	name: string;
+	nullable?: boolean;
+	optional?: boolean;
+	readonly?: boolean;
+	scope?: string;
+	see?: string[];
+	type: string[][][];
+	variable?: boolean;
+}
+
+type DocumentationClassConstructorParameter = DocumentationParameter;
+
+type DocumentationClassEventParameter = DocumentationParameter;
+
+interface DocumentationClassMethodParameter extends DocumentationParameter {
+	meta: DocumentationClassMethodParameterMeta;
+}
+
+interface DocumentationTypeDefinitionParameter extends DocumentationParameter {
+	meta: DocumentationTypeDefinitionParameterMeta;
+}
+
+type DocumentationProperty = DocumentationParameter;
+
+type DocumentationTypeDefinitionProperty = DocumentationProperty;
+
+type DocumentationClassPropertyProperty = DocumentationProperty;
+
+export interface DocumentationClassProperty extends DocumentationProperty {
+	meta: DocumentationClassMethodPropertyMeta;
+	props: DocumentationClassPropertyProperty[];
+}
+
+export interface DocumentationClassConstructor {
+	name: string;
+	params?: DocumentationClassConstructorParameter[];
+}
+
+export interface DocumentationReturns {
+	description: string;
+	nullable: boolean;
+	types: string[][][];
+	variable: boolean;
+}
+
+export interface DocumentationClassMethod {
+	abstract?: boolean;
+	access?: string;
+	async?: boolean;
+	deprecated?: boolean | string;
+	description?: string;
+	examples?: string[];
+	inherited?: boolean;
+	meta: DocumentationClassMethodMeta;
+	name: string;
+	params?: DocumentationClassMethodParameter[];
+	returns?: DocumentationReturns;
+	returnsDescription?: string;
+	scope?: string;
+	see?: string[];
+	throws?: string[];
+}
+
+export interface DocumentationClassEvent {
+	access?: string;
+	deprecated?: boolean | string;
+	description: string;
+	meta: DocumentationClassEventMeta;
+	name: string;
+	params: DocumentationClassEventParameter[];
+	see?: string[];
+}
+
+export interface DocumentationClass {
+	abstract?: boolean | undefined;
+	access?: 'private' | undefined;
+	construct?: DocumentationClassConstructor | undefined;
+	deprecated?: boolean | undefined;
+	description?: string | undefined;
+	events?: DocumentationClassEvent[] | undefined;
+	examples?: string[] | undefined;
+	extendedDescription?: string | undefined;
+	extends?: [string] | undefined;
+	implements?: [string] | undefined;
+	isExternal?: boolean | undefined;
+	meta?: DocumentationClassMeta | undefined;
+	methods?: DocumentationClassMethod[] | undefined;
+	name: string;
+	props?: DocumentationClassProperty[] | undefined;
+	see?: string[] | undefined;
+}
+
+export interface DocumentationCustomFile {
+	content: string;
+	name: string;
+	path: string;
+	type: string;
+}
+
+export interface DocumentationCustom {
+	[key: string]: {
+		name: string;
+		files: {
+			[key: string]: DocumentationCustomFile;
+		};
+	};
+}
+
+export interface DocumentationExternal {
+	meta: DocumentationExternalMeta;
+	name: string;
+	see: string[];
+}
+
+enum DocumentationLinkParams {
+	class = 'class',
+	typedef = 'typedef'
+}
+
+export interface DocumentationLink {
+	[key: string]:
+		| {
+				name: string;
+				params: {
+					[key in DocumentationLinkParams]: string;
+				};
+		  }
+		| string;
+}
+
+export interface DocumentationTypeDefinition {
+	access?: 'private' | undefined;
+	deprecated?: boolean | undefined;
+	description?: string | undefined;
+	extendedDescription?: string | undefined;
+	isExternal?: boolean | undefined;
+	meta?: DocumentationTypeDefinitionMeta | undefined;
+	name: string;
+	params?: DocumentationTypeDefinitionParameter[] | undefined;
+	props?: DocumentationTypeDefinitionProperty[] | undefined;
+	returns?: DocumentationReturns | undefined;
+	returnsDescription?: string | undefined;
+	see?: string[] | undefined;
+	type?: string[][] | string[][][] | undefined;
+	variant: 'type' | 'interface' | 'enum';
+}
+
+export interface DocumentationNamespace {
+	deprecated?: boolean | undefined;
+	description?: string | undefined;
+	enumerations?: DocumentationTypeDefinition[] | undefined;
+	extendedDescription?: string | undefined;
+	interfaces?: DocumentationTypeDefinition[] | undefined;
+	isExternal?: boolean | undefined;
+	meta?: DocumentationTypeDefinitionMeta | undefined;
+	name: string;
+	see?: string[] | undefined;
+	typeAliases?: DocumentationTypeDefinition[] | undefined;
+}
+
+export type DocIterateeUnion =
+	| DocumentationClass
+	// | DocumentationCustom
+	| DocumentationExternal
+	| DocumentationInterface
+	// | DocumentationLink
+	| DocumentationTypeDefinition
+	| DocumentationClassEventParameter
+	| DocumentationClassProperty
+	| DocumentationClassMethod
+	| DocumentationClassMethodParameter
+	| DocumentationClassEvent;
+
+export interface Documentation {
+	classes: DocumentationClass[];
+	custom: DocumentationCustom;
+	// externals: DocumentationExternal[];
+	// global?: string;
+	// interfaces: DocumentationInterface[];
+	// links: DocumentationLink[];
+	meta: DocumentationMeta;
+	namespaces: DocumentationNamespace[];
+	//   id?: string;
+	//   source?: string;
+	//   tag?: string;
+	typedefs: DocumentationTypeDefinition[];
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/types/types.ts b/docusaurus-discordjs-docgen/src/lib/types/types.ts
new file mode 100644
index 00000000..01d66675
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/types/types.ts
@@ -0,0 +1,13 @@
+export interface PluginOptions {
+	id: string;
+	docsRoot: string;
+	out: string;
+	docgenJsonFile: string;
+	packageName: string;
+	sidebar: SidebarOptions;
+}
+
+interface SidebarOptions {
+	categoryLabel: string;
+	position: number | null;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/utils/logger.ts b/docusaurus-discordjs-docgen/src/lib/utils/logger.ts
new file mode 100644
index 00000000..b84073a7
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/utils/logger.ts
@@ -0,0 +1,3 @@
+export function generateLogString(logString: string, id: string) {
+	return `[DOCUSAURUS-DISCORDJS-DOCGEN] ${logString} (found at: ${id})`;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/utils/options.ts b/docusaurus-discordjs-docgen/src/lib/utils/options.ts
new file mode 100644
index 00000000..ec183800
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/utils/options.ts
@@ -0,0 +1,27 @@
+import type { PluginOptions } from '../types/types';
+
+const DEFAULT_PLUGIN_OPTIONS: PluginOptions = {
+	id: 'default',
+	docsRoot: 'docs',
+	out: 'api',
+	docgenJsonFile: 'docs.json',
+	packageName: 'API',
+	sidebar: {
+		categoryLabel: 'API',
+		position: null
+	}
+};
+
+export function getPluginOptions(opts: Partial<PluginOptions>): PluginOptions {
+	const options = {
+		...DEFAULT_PLUGIN_OPTIONS,
+		...opts,
+		packageName: opts.packageName ?? opts.sidebar?.categoryLabel ?? DEFAULT_PLUGIN_OPTIONS.packageName,
+		sidebar: {
+			...DEFAULT_PLUGIN_OPTIONS.sidebar,
+			...opts.sidebar
+		}
+	};
+
+	return options;
+}
diff --git a/docusaurus-discordjs-docgen/src/lib/utils/pluginContainer.ts b/docusaurus-discordjs-docgen/src/lib/utils/pluginContainer.ts
new file mode 100644
index 00000000..fd79bf35
--- /dev/null
+++ b/docusaurus-discordjs-docgen/src/lib/utils/pluginContainer.ts
@@ -0,0 +1,8 @@
+import type { PluginOptions } from '../types/types';
+
+// @ts-expect-error initialise empty container
+export const pluginContainer: Container = {};
+
+interface Container {
+	pluginOptions: PluginOptions;
+}
diff --git a/docusaurus-discordjs-docgen/tsconfig.json b/docusaurus-discordjs-docgen/tsconfig.json
new file mode 100644
index 00000000..ccc201e4
--- /dev/null
+++ b/docusaurus-discordjs-docgen/tsconfig.json
@@ -0,0 +1,10 @@
+{
+	"extends": "@sapphire/ts-config",
+	"compilerOptions": {
+		"rootDir": "src",
+		"outDir": "dist",
+		"lib": ["ESNext", "DOM"],
+		"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
+	},
+	"include": ["src"]
+}
diff --git a/docusaurus-typedoc-json-parser/package.json b/docusaurus-typedoc-json-parser/package.json
new file mode 100644
index 00000000..2bf638f8
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/package.json
@@ -0,0 +1,30 @@
+{
+	"name": "docusaurus-typedoc-json-parser",
+	"version": "0.0.1",
+	"description": "A Docusaurus v2 plugin to build API Documentation based on typedoc-json-parser output.",
+	"main": "dist/index.js",
+	"files": [
+		"dist/"
+	],
+	"scripts": {
+		"build": "tsc",
+		"watch": "tsc -w",
+		"debug": "node --inspect scripts/debug.mjs",
+		"start": "node scripts/debug.mjs"
+	},
+	"dependencies": {
+		"@sapphire/docusaurus-plugin-ts2esm2cjs": "^1.1.3",
+		"@sapphire/fetch": "^2.4.1",
+		"@sapphire/result": "^2.6.0",
+		"@sapphire/utilities": "^3.11.0",
+		"common-tags": "^1.8.2",
+		"css": "^3.0.0",
+		"typedoc-json-parser": "^6.0.2"
+	},
+	"devDependencies": {
+		"@docusaurus/types": "^2.1.0",
+		"@types/common-tags": "^1.8.1",
+		"dotenv": "^16.0.3",
+		"typescript": "^4.8.4"
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/scripts/debug.mjs b/docusaurus-typedoc-json-parser/scripts/debug.mjs
new file mode 100644
index 00000000..e1deb962
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/scripts/debug.mjs
@@ -0,0 +1,65 @@
+import { fileURLToPath } from 'node:url';
+import parser from '../dist/index.js';
+import { config } from 'dotenv';
+
+config();
+
+const docusaurusTypeDocJsonParser = parser.default;
+
+const siteDir = new URL('../../', import.meta.url);
+const generatedFilesDir = new URL('.docusaurus/', siteDir);
+const outDir = new URL('build/', siteDir);
+const siteConfigPath = new URL('docusaurus.config.js', siteDir);
+
+docusaurusTypeDocJsonParser(
+	{
+		siteDir: fileURLToPath(siteDir),
+		generatedFilesDir: fileURLToPath(generatedFilesDir),
+		siteConfig: {
+			title: 'Sapphire',
+			url: 'https://sapphirejs.dev',
+			baseUrl: '/',
+			onBrokenLinks: 'warn',
+			onBrokenMarkdownLinks: 'warn',
+			onDuplicateRoutes: 'throw',
+			favicon: 'img/favicon.ico',
+			tagline:
+				'Sapphire is a next-gen Discord bot framework for developers of all skill levels to make the best JavaScript/TypeScript based bots possible.',
+			organizationName: 'sapphiredev',
+			projectName: 'framework',
+			baseUrlIssueBanner: true,
+			i18n: {
+				defaultLocale: 'en',
+				locales: ['en'],
+				localeConfigs: {}
+			},
+			staticDirectories: ['static'],
+			customFields: {},
+			scripts: [],
+			stylesheets: [],
+			clientModules: [],
+			titleDelimiter: '|',
+			noIndex: false
+		},
+		siteConfigPath: fileURLToPath(siteConfigPath),
+		outDir: fileURLToPath(outDir),
+		baseUrl: '/',
+		i18n: {
+			defaultLocale: 'en',
+			locales: ['en'],
+			currentLocale: 'en',
+			localeConfigs: {
+				en: {
+					label: 'English',
+					direction: 'ltr',
+					htmlLang: 'en'
+				}
+			}
+		},
+		codeTranslations: {}
+	},
+	{
+		githubContentUrl: 'https://api.github.com/repos/sapphiredev/docs/contents/docs',
+		githubToken: process.env.GITHUB_TOKEN
+	}
+).loadContent();
diff --git a/docusaurus-typedoc-json-parser/src/index.ts b/docusaurus-typedoc-json-parser/src/index.ts
new file mode 100644
index 00000000..f2f13dbd
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/index.ts
@@ -0,0 +1,117 @@
+import type { LoadContext, Plugin } from '@docusaurus/types';
+import { fetch } from '@sapphire/fetch';
+import type { PluginOptions } from './types/PluginOptions';
+import { RepositoryContent, RepositoryContentFileType } from './types/RepositoryContent';
+import { ProjectParser, ReferenceTypeParser } from 'typedoc-json-parser';
+import { resolve } from 'node:path';
+import { removeDirectory } from './renderer/utilities/removeDirectory';
+import { writeCategoryYaml } from './renderer/writeCategoryYaml';
+import { renderOutputFiles } from './renderer/render';
+
+ReferenceTypeParser.formatToString = (parser) => {
+	const typeArguments = parser.typeArguments.length > 0 ? `<${parser.typeArguments.map((type) => type.toString()).join(', ')}\\>` : '';
+
+	if (parser.id || parser.packageName) {
+		return `[\`${parser.name}\`](${parser.id ? parser.id : parser.packageName})${typeArguments}`;
+	}
+
+	return `\`${parser.name}\`${typeArguments}`;
+};
+
+export default function docusaurusTypeDocJsonParser(context: LoadContext, options: PluginOptions): Plugin {
+	return {
+		name: 'docusaurus-typedoc-json-parser',
+		async loadContent() {
+			const { siteDir } = context;
+			const { githubContentUrl, githubToken } = options;
+
+			const contents = (
+				await (githubToken
+					? fetch<RepositoryContent[]>(githubContentUrl, {
+							headers: {
+								Authorization: `Bearer ${githubToken}`
+							}
+					  })
+					: fetch<RepositoryContent[]>(githubContentUrl))
+			).filter((content) => content.type === RepositoryContentFileType.Directory);
+
+			for (const content of contents) {
+				const projectContents = await fetch<RepositoryContent[]>(content.url, {
+					headers: {
+						Authorization: `Bearer ${githubToken}`
+					}
+				});
+
+				for (const projectContent of projectContents) {
+					if (projectContent.type === RepositoryContentFileType.Directory) {
+						const projectSubContents = await fetch<RepositoryContent[]>(projectContent.url, {
+							headers: {
+								Authorization: `Bearer ${githubToken}`
+							}
+						});
+
+						writeCategoryYaml(resolve(siteDir, 'docs', 'Documentation', content.name), '', content.name, 0);
+
+						for (const projectSubContent of projectSubContents) {
+							if (projectSubContent.download_url === null)
+								throw new Error(
+									`The 'download_url' field is null for '${content.name}/${projectContent.name}/${projectSubContent.name}'`
+								);
+
+							writeCategoryYaml(
+								resolve(siteDir, 'docs', 'Documentation', content.name, projectContent.name),
+								'',
+								projectContent.name,
+								1
+							);
+
+							const outputDir = resolve(
+								siteDir,
+								'docs',
+								'Documentation',
+								content.name,
+								projectContent.name,
+								projectSubContent.name.replace('.json', '')
+							);
+
+							removeDirectory(outputDir);
+
+							writeCategoryYaml(outputDir, '', projectSubContent.name.replace('.json', ''), 1);
+
+							const data = await fetch<ProjectParser.JSON>(projectSubContent.download_url);
+							const incomingTypeDocJsonParserVersion = data.typeDocJsonParserVersion.split('.').map(Number) as [number, number, number];
+							const currentTypeDocJsonParserVersion = ProjectParser.version.split('.').map(Number) as [number, number, number];
+
+							if (incomingTypeDocJsonParserVersion[0] !== currentTypeDocJsonParserVersion[0]) continue;
+
+							const projectParser = new ProjectParser({ data, version: projectSubContent.name.replace('.json', '') });
+
+							renderOutputFiles(projectParser, outputDir, true);
+						}
+					} else {
+						if (projectContent.download_url === null)
+							throw new Error(`The 'download_url' field is null for '${content.name}/${projectContent.name}'`);
+
+						writeCategoryYaml(resolve(siteDir, 'docs', 'Documentation', content.name), '', content.name, 0);
+
+						const outputDir = resolve(siteDir, 'docs', 'Documentation', content.name, projectContent.name.replace('.json', ''));
+
+						removeDirectory(outputDir);
+
+						writeCategoryYaml(outputDir, '', projectContent.name.replace('.json', ''), 1);
+
+						const data = await fetch<ProjectParser.JSON>(projectContent.download_url);
+						const incomingTypeDocJsonParserVersion = data.typeDocJsonParserVersion.split('.').map(Number) as [number, number, number];
+						const currentTypeDocJsonParserVersion = ProjectParser.version.split('.').map(Number) as [number, number, number];
+
+						if (incomingTypeDocJsonParserVersion[0] !== currentTypeDocJsonParserVersion[0]) continue;
+
+						const projectParser = new ProjectParser({ data, version: projectContent.name.replace('.json', '') });
+
+						renderOutputFiles(projectParser, outputDir, false);
+					}
+				}
+			}
+		}
+	};
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/render.ts b/docusaurus-typedoc-json-parser/src/renderer/render.ts
new file mode 100644
index 00000000..906305ca
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/render.ts
@@ -0,0 +1,78 @@
+import {
+	ClassParser,
+	VariableParser,
+	EnumParser,
+	FunctionParser,
+	InterfaceParser,
+	NamespaceParser,
+	ProjectParser,
+	ReferenceTypeParser,
+	TypeAliasParser
+} from 'typedoc-json-parser';
+import { renderClasses } from './renderClass';
+import { renderVariables } from './renderVariable';
+import { renderEnums } from './renderEnum';
+import { renderFunctions } from './renderFunction';
+import { renderInterfaces } from './renderInterface';
+import { renderNamespaces } from './renderNamespace';
+import { renderTypeAliases } from './renderTypeAlias';
+
+export function renderOutputFiles(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	if (projectParser.classes.length) {
+		renderClasses(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.variables.length) {
+		renderVariables(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.enums.length) {
+		renderEnums(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.functions.length) {
+		renderFunctions(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.interfaces.length) {
+		renderInterfaces(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.namespaces.length) {
+		renderNamespaces(projectParser, outputDir, isGroup);
+	}
+
+	if (projectParser.typeAliases.length) {
+		renderTypeAliases(projectParser, outputDir, isGroup);
+	}
+}
+
+ReferenceTypeParser.formatToString = (parser) => {
+	const typeArguments = parser.typeArguments.length > 0 ? `<${parser.typeArguments.map((type) => type.toString()).join(', ')}>` : '';
+
+	if (parser.id !== null && parser.packageName === null) {
+		const foundParser = parser.project.find(parser.id);
+
+		if (foundParser !== null) {
+			if (foundParser instanceof ClassParser) {
+				return `[${parser.name}](../class/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof VariableParser) {
+				return `[${parser.name}](../constant/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof EnumParser) {
+				return `[${parser.name}](../enum/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof FunctionParser) {
+				return `[${parser.name}](../function/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof InterfaceParser) {
+				return `[${parser.name}](../interface/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof NamespaceParser) {
+				return `[${parser.name}](../namespace/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			} else if (foundParser instanceof TypeAliasParser) {
+				return `[${parser.name}](../type-alias/${foundParser.name.toLowerCase().replace(/\s/g, '-')}.mdx)${typeArguments}`;
+			}
+		}
+	}
+
+	// TODO: Parse `parser.packageName`
+
+	return `${parser.packageName ? `${parser.packageName}.` : ''}${parser.name}${typeArguments}`;
+};
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderClass.ts b/docusaurus-typedoc-json-parser/src/renderer/renderClass.ts
new file mode 100644
index 00000000..2eb61a8b
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderClass.ts
@@ -0,0 +1,167 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { ClassMethodParser, ClassParser, ClassPropertyParser, ProjectParser, TypeParser } from 'typedoc-json-parser';
+import { parseExamples } from './utilities/parseExamples';
+import { parseParameters } from './utilities/parseParameters';
+import { parseSee } from './utilities/parseSee';
+import { parseTypeParameters } from './utilities/parseTypeParameters';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderClass(classParser: ClassParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = classParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${classParser.name}"
+sidebar_label: "${classParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const classExtendsType = parseExtendsType(classParser.extendsType);
+	const classImplementsTypes = parseImplementsType(classParser.implementsType);
+
+	const result = `${header}
+${classExtendsType === null ? '' : `**extends ${classExtendsType}**`}
+${classImplementsTypes.length === 0 ? '' : `**implements ${classImplementsTypes.join(', ')}**`}
+
+${
+	classParser.typeParameters.length
+		? `## Type Parameters
+
+${parseTypeParameters(classParser.typeParameters)}`
+		: ''
+}
+
+${classParser.comment.description ?? 'No description provided.'}
+
+${parseSee(classParser.comment.see)}
+
+${
+	classParser.comment.example.length
+		? `## Examples
+
+${parseExamples(classParser.comment.example)}`
+		: ''
+}
+
+${parseConstructor(classParser)}
+${parseProperties(classParser.properties)}
+${parseMethods(classParser.methods)}
+`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderClasses(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'class', 'Classes', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const classParser of projectParser.classes) {
+		if (classParser.external) continue;
+
+		renderClass(classParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
+
+function parseExtendsType(typeParser: TypeParser | null): string | null {
+	return typeParser?.toString() ?? null;
+}
+
+function parseImplementsType(typeParsers: TypeParser[]): string[] {
+	return typeParsers.map((typeParser) => typeParser.toString());
+}
+
+function parseConstructor(classParser: ClassParser): string {
+	return `## Constructor
+
+\`\`\`typescript ts2esm2cjs
+new ${classParser.name}(${classParser.construct.parameters.map((parameter) => parameter.name).join(', ')})
+\`\`\`
+
+${
+	classParser.construct.parameters.length
+		? `${
+				classParser.construct.parameters.length
+					? `### Parameters
+
+${parseParameters(classParser.construct.parameters)}`
+					: ''
+		  }`
+		: ''
+}`;
+}
+
+function parseProperties(properties: ClassPropertyParser[]): string {
+	if (!properties.length) return '';
+
+	return `
+## Properties
+
+${properties
+	.map(
+		(property) => `### ${
+			property.accessibility === ClassParser.Accessibility.Protected
+				? '`PROTECTED` '
+				: property.accessibility === ClassParser.Accessibility.Private
+				? '`PRIVATE` '
+				: ''
+		}${property.static ? '`STATIC` ' : ''}${property.readonly ? '`READONLY` ' : ''}${property.name}${
+			property.type ? `${property.optional ? '?' : ''}: ${property.type.toString()}` : ''
+		}
+
+${property.comment.description ?? 'No description provided.'}`
+	)
+	.join('\n\n')}`;
+}
+
+function parseMethods(methods: ClassMethodParser[]): string {
+	if (!methods.length) return '';
+
+	return `
+## Methods
+
+${methods
+	.map((method) =>
+		method.signatures
+			.map(
+				(signature) =>
+					`### ${signature.name}${
+						signature.typeParameters.length ? `<${signature.typeParameters.map((typeParameter) => typeParameter.name).join(', ')}\\>` : ''
+					}(${signature.parameters.map((parameter) => parameter.name).join(', ')}): ${signature.returnType.toString()}
+
+${signature.comment.description ?? 'No description provided.'}
+
+${parseSee(signature.comment.see)}
+
+${
+	signature.comment.example.length
+		? `#### Examples
+
+${parseExamples(signature.comment.example)}`
+		: ''
+}
+
+${
+	signature.typeParameters.length
+		? `#### Type Parameters
+
+${parseTypeParameters(signature.typeParameters)}`
+		: ''
+}
+
+${
+	signature.parameters.length
+		? `#### Parameters
+
+${parseParameters(signature.parameters)}`
+		: ''
+}`
+			)
+			.join('\n\n')
+	)
+	.join('\n\n')}`;
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderEnum.ts b/docusaurus-typedoc-json-parser/src/renderer/renderEnum.ts
new file mode 100644
index 00000000..c7573734
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderEnum.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { EnumParser, ProjectParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderEnum(enumParser: EnumParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = enumParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${enumParser.name}"
+sidebar_label: "${enumParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderEnums(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'enum', 'Enums', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const enumParser of projectParser.enums) {
+		if (enumParser.external) continue;
+
+		renderEnum(enumParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderFunction.ts b/docusaurus-typedoc-json-parser/src/renderer/renderFunction.ts
new file mode 100644
index 00000000..dd46e8d4
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderFunction.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { FunctionParser, ProjectParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderFunction(functionParser: FunctionParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = functionParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${functionParser.name}"
+sidebar_label: "${functionParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderFunctions(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'function', 'Functions', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const functionParser of projectParser.functions) {
+		if (functionParser.external) continue;
+
+		renderFunction(functionParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderInterface.ts b/docusaurus-typedoc-json-parser/src/renderer/renderInterface.ts
new file mode 100644
index 00000000..bcee4027
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderInterface.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { InterfaceParser, ProjectParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderInterface(interfaceParser: InterfaceParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = interfaceParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${interfaceParser.name}"
+sidebar_label: "${interfaceParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderInterfaces(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'interface', 'Interfaces', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const interfaceParser of projectParser.interfaces) {
+		if (interfaceParser.external) continue;
+
+		renderInterface(interfaceParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderNamespace.ts b/docusaurus-typedoc-json-parser/src/renderer/renderNamespace.ts
new file mode 100644
index 00000000..fde120c4
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderNamespace.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { NamespaceParser, ProjectParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderNamespace(namespaceParser: NamespaceParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = namespaceParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${namespaceParser.name}"
+sidebar_label: "${namespaceParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderNamespaces(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'namespace', 'Namespaces', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const namespaceParser of projectParser.namespaces) {
+		if (namespaceParser.external) continue;
+
+		renderNamespace(namespaceParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderTypeAlias.ts b/docusaurus-typedoc-json-parser/src/renderer/renderTypeAlias.ts
new file mode 100644
index 00000000..92d8eb8f
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderTypeAlias.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { ProjectParser, TypeAliasParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderTypeAlias(typeAliasParser: TypeAliasParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = typeAliasParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${typeAliasParser.name}"
+sidebar_label: "${typeAliasParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderTypeAliases(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'typeAlias', 'Type Aliases', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const typeAliasParser of projectParser.typeAliases) {
+		if (typeAliasParser.external) continue;
+
+		renderTypeAlias(typeAliasParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/renderVariable.ts b/docusaurus-typedoc-json-parser/src/renderer/renderVariable.ts
new file mode 100644
index 00000000..4033515e
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/renderVariable.ts
@@ -0,0 +1,34 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import type { VariableParser, ProjectParser } from 'typedoc-json-parser';
+import { writeCategoryYaml } from './writeCategoryYaml';
+
+function renderVariable(constantParser: VariableParser, outputDir: string, fileSidebarPosition: number) {
+	const slug = constantParser.name.toLowerCase().replace(/\s/g, '-');
+
+	const header = `---
+id: "${slug}"
+title: "${constantParser.name}"
+sidebar_label: "${constantParser.name}"
+sidebar_position: ${fileSidebarPosition}
+custom_edit_url: null
+---`;
+
+	const result = `${header}`;
+
+	writeFileSync(resolve(outputDir, `${slug}.mdx`), result);
+}
+
+export function renderVariables(projectParser: ProjectParser, outputDir: string, isGroup: boolean) {
+	const categoryDir = writeCategoryYaml(outputDir, 'constant', 'Variables', isGroup ? 2 : 1);
+
+	let fileSidebarPosition = 0;
+
+	for (const constantParser of projectParser.variables) {
+		if (constantParser.external) continue;
+
+		renderVariable(constantParser, categoryDir, fileSidebarPosition);
+
+		fileSidebarPosition++;
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/ensureDirectory.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/ensureDirectory.ts
new file mode 100644
index 00000000..6f5f6089
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/ensureDirectory.ts
@@ -0,0 +1,5 @@
+import { existsSync, mkdirSync } from 'node:fs';
+
+export function ensureDirectory(dir: string) {
+	if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/parseExamples.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseExamples.ts
new file mode 100644
index 00000000..c15c2459
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseExamples.ts
@@ -0,0 +1,7 @@
+import type { CommentParser } from 'typedoc-json-parser';
+
+export function parseExamples(blockTags: CommentParser.BlockTag[]): string {
+	if (blockTags.length === 0) return '';
+
+	return `${blockTags.map((blockTag) => blockTag.text.replace(/(```typescript)\n/g, '$1 ts2esm2cjs\n'))}`;
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/parseParameters.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseParameters.ts
new file mode 100644
index 00000000..746f5c75
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseParameters.ts
@@ -0,0 +1,16 @@
+import type { ParameterParser } from 'typedoc-json-parser';
+
+export function parseParameters(parameters: ParameterParser[]): string {
+	if (!parameters.length) return '';
+
+	return `| Name | Type | Description |
+| :---: | :---: | :---: | :---: |
+${parameters
+	.map(
+		(parameter) =>
+			`| ${parameter.name} | ${parameter.type.toString().replace('/', '\\/')} | ${
+				parameter.comment.description ?? 'No description provided.'
+			} |`
+	)
+	.join('\n')}`;
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/parseSee.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseSee.ts
new file mode 100644
index 00000000..8769dcf5
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseSee.ts
@@ -0,0 +1,7 @@
+import type { CommentParser } from 'typedoc-json-parser';
+
+export function parseSee(blockTags: CommentParser.BlockTag[]): string {
+	if (blockTags.length === 0) return '';
+
+	return blockTags.map((blockTag) => `\n**See Also:** ${blockTag.text}`).join('\n');
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/parseTypeParameters.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseTypeParameters.ts
new file mode 100644
index 00000000..87e10f4f
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/parseTypeParameters.ts
@@ -0,0 +1,12 @@
+import type { TypeParameterParser } from 'typedoc-json-parser';
+
+export function parseTypeParameters(typeParameters: TypeParameterParser[]): string {
+	if (!typeParameters.length) return '';
+
+	return `| Name | Type | Default |
+| :---: | :---: | :---: |
+${typeParameters.map(
+	(typeParameter) =>
+		`| ${typeParameter.name} | ${typeParameter.type?.toString() ?? 'Not provided.'} | ${typeParameter.default?.toString() ?? 'Not provided.'}`
+)}`;
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/utilities/removeDirectory.ts b/docusaurus-typedoc-json-parser/src/renderer/utilities/removeDirectory.ts
new file mode 100644
index 00000000..b693e6c8
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/utilities/removeDirectory.ts
@@ -0,0 +1,21 @@
+import { existsSync, readdirSync, rmdirSync, statSync, unlinkSync } from 'node:fs';
+
+export function removeDirectory(directory: string) {
+	if (existsSync(directory)) {
+		const files = readdirSync(directory);
+
+		if (files.length > 0) {
+			files.forEach((filename) => {
+				if (statSync(`${directory}/${filename}`).isDirectory()) {
+					removeDirectory(`${directory}/${filename}`);
+				} else {
+					unlinkSync(`${directory}/${filename}`);
+				}
+			});
+
+			rmdirSync(directory);
+		} else {
+			rmdirSync(directory);
+		}
+	}
+}
diff --git a/docusaurus-typedoc-json-parser/src/renderer/writeCategoryYaml.ts b/docusaurus-typedoc-json-parser/src/renderer/writeCategoryYaml.ts
new file mode 100644
index 00000000..99499e22
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/renderer/writeCategoryYaml.ts
@@ -0,0 +1,15 @@
+import { writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+import { ensureDirectory } from './utilities/ensureDirectory';
+
+export function writeCategoryYaml(directory: string, categoryPath: string, categoryName: string, sidebarPosition: number) {
+	const categoryDirectory = resolve(directory, categoryPath);
+
+	ensureDirectory(categoryDirectory);
+
+	const categoryData = [`label: "${categoryName}"`, `position: ${sidebarPosition}`].join(`\n`);
+
+	writeFileSync(resolve(categoryDirectory, '_category.yml'), categoryData);
+
+	return categoryDirectory;
+}
diff --git a/docusaurus-typedoc-json-parser/src/types/PluginOptions.ts b/docusaurus-typedoc-json-parser/src/types/PluginOptions.ts
new file mode 100644
index 00000000..c1ee22c6
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/types/PluginOptions.ts
@@ -0,0 +1,5 @@
+export interface PluginOptions {
+	githubContentUrl: string;
+
+	githubToken?: string;
+}
diff --git a/docusaurus-typedoc-json-parser/src/types/RepositoryContent.ts b/docusaurus-typedoc-json-parser/src/types/RepositoryContent.ts
new file mode 100644
index 00000000..f20e78aa
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/src/types/RepositoryContent.ts
@@ -0,0 +1,15 @@
+export interface RepositoryContent {
+	type: RepositoryContentFileType;
+
+	name: string;
+
+	url: string;
+
+	download_url: string | null;
+}
+
+export enum RepositoryContentFileType {
+	File = 'file',
+
+	Directory = 'dir'
+}
diff --git a/docusaurus-typedoc-json-parser/tsconfig.json b/docusaurus-typedoc-json-parser/tsconfig.json
new file mode 100644
index 00000000..ccc201e4
--- /dev/null
+++ b/docusaurus-typedoc-json-parser/tsconfig.json
@@ -0,0 +1,10 @@
+{
+	"extends": "@sapphire/ts-config",
+	"compilerOptions": {
+		"rootDir": "src",
+		"outDir": "dist",
+		"lib": ["ESNext", "DOM"],
+		"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
+	},
+	"include": ["src"]
+}
diff --git a/docusaurus.config.js b/docusaurus.config.js
index a41838f7..c0844f48 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -9,13 +9,15 @@ const BaseUrl = 'https://sapphirejs.dev';
 const Email = 'contact@sapphirejs.dev';
 const Title = 'Sapphire Framework';
 
-/** @type {import('@docusaurus/types').Config} */
+/** @type {import('@docusaurus/types').DocusaurusConfig} */
 const config = {
 	title: 'Sapphire',
 	url: BaseUrl,
 	baseUrl: '/',
-	onBrokenLinks: 'throw',
-	onBrokenMarkdownLinks: 'throw',
+	// TODO: Re-enable after adding all JSON files. See temporary-errors-log-of-broken-links.md
+	onBrokenLinks: 'warn',
+	// TODO: Re-enable after adding all JSON files. See temporary-errors-log-of-broken-links.md
+	onBrokenMarkdownLinks: 'warn',
 	onDuplicateRoutes: 'throw',
 	favicon: 'img/favicon.ico',
 	tagline: Description,
@@ -49,132 +51,10 @@ const config = {
 			}
 		],
 		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'framework',
-				entryPoints: ['./projects/framework/src/index.ts'],
-				tsconfig: './projects/framework/src/tsconfig.json',
-				readme: 'none',
-				out: 'Documentation/api-framework',
-				plugin: ['typedoc-plugin-mdn-links', 'typedoc-plugin-djs-links'],
-				sidebar: {
-					categoryLabel: '@sapphire/framework',
-					position: 0,
-					fullNames: true
-				}
-			}
-		],
-		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'Pieces',
-				entryPoints: ['./projects/pieces/src/index.ts'],
-				tsconfig: './projects/pieces/src/tsconfig.json',
-				readme: 'none',
-				out: 'Documentation/api-pieces',
-				plugin: ['typedoc-plugin-mdn-links'],
-				sidebar: {
-					categoryLabel: '@sapphire/pieces',
-					position: 1,
-					fullNames: true
-				}
-			}
-		],
-		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'Utilities',
-				entryPointStrategy: 'resolve',
-				entryPoints: [
-					'./projects/utilities/packages/async-queue/src/index.ts',
-					'./projects/utilities/packages/bitfield/src/index.ts',
-					'./projects/utilities/packages/cron/src/index.ts',
-					'./projects/utilities/packages/decorators/src/index.ts',
-					'./projects/utilities/packages/discord-utilities/src/index.ts',
-					'./projects/utilities/packages/discord.js-utilities/src/index.ts',
-					'./projects/utilities/packages/duration/src/index.ts',
-					'./projects/utilities/packages/event-iterator/src/index.ts',
-					'./projects/utilities/packages/fetch/src/index.ts',
-					'./projects/utilities/packages/lexure/src/index.ts',
-					'./projects/utilities/packages/node-utilities/src/index.ts',
-					'./projects/utilities/packages/phisherman/src/index.ts',
-					'./projects/utilities/packages/ratelimits/src/index.ts',
-					'./projects/utilities/packages/result/src/index.ts',
-					'./projects/utilities/packages/snowflake/src/index.ts',
-					'./projects/utilities/packages/stopwatch/src/index.ts',
-					'./projects/utilities/packages/time-utilities/src/index.ts',
-					'./projects/utilities/packages/timer-manager/src/index.ts',
-					'./projects/utilities/packages/timestamp/src/index.ts',
-					'./projects/utilities/packages/utilities/src/index.ts'
-				],
-				tsconfig: './tsconfig.typedoc.json',
-				readme: 'none',
-				out: 'Documentation/api-utilities',
-				plugin: ['typedoc-plugin-mdn-links', 'typedoc-plugin-djs-links'],
-				sidebar: {
-					categoryLabel: 'Sapphire Utilities',
-					position: 2
-				}
-			}
-		],
-		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'Plugins',
-				entryPointStrategy: 'resolve',
-				entryPoints: [
-					'./projects/plugins/packages/api/src/index.ts',
-					'./projects/plugins/packages/editable-commands/src/index.ts',
-					'./projects/plugins/packages/hmr/src/index.ts',
-					'./projects/plugins/packages/i18next/src/index.ts',
-					'./projects/plugins/packages/logger/src/index.ts',
-					'./projects/plugins/packages/pattern-commands/src/index.ts',
-					'./projects/plugins/packages/scheduled-tasks/src/index.ts',
-					'./projects/plugins/packages/subcommands/src/index.ts'
-				],
-				tsconfig: './tsconfig.typedoc.json',
-				readme: 'none',
-				out: 'Documentation/api-plugins',
-				excludeExternals: true,
-				externalPattern: ['node_modules/@types/**'],
-				plugin: ['typedoc-plugin-mdn-links', 'typedoc-plugin-djs-links'],
-				sidebar: {
-					categoryLabel: 'Sapphire Plugins',
-					position: 3
-				}
-			}
-		],
-		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'Type',
-				entryPoints: ['./projects/type/src/index.ts'],
-				tsconfig: './projects/type/src/tsconfig.json',
-				readme: './projects/type/README.md',
-				out: 'Documentation/api-type',
-				plugin: ['typedoc-plugin-mdn-links'],
-				sidebar: {
-					categoryLabel: '@sapphire/type',
-					position: 4,
-					fullNames: true
-				}
-			}
-		],
-		[
-			'docusaurus-plugin-typedoc',
-			{
-				id: 'Shapeshift',
-				entryPoints: ['./projects/shapeshift/src/index.ts'],
-				tsconfig: './projects/shapeshift/src/tsconfig.json',
-				readme: './projects/shapeshift/README.md',
-				out: 'Documentation/api-shapeshift',
-				plugin: ['typedoc-plugin-mdn-links'],
-				sidebar: {
-					categoryLabel: '@sapphire/shapeshift',
-					position: 5,
-					fullNames: true
-				}
-			}
+			'docusaurus-typedoc-json-parser',
+			/** @type {import('docusaurus-typedoc-json-parser/dist/types').PluginOptions} */ ({
+				githubContentUrl: 'https://api.github.com/repos/sapphiredev/docs/contents/docs'
+			})
 		]
 	],
 
diff --git a/package.json b/package.json
index c6d0ccd9..b17c03aa 100644
--- a/package.json
+++ b/package.json
@@ -2,16 +2,18 @@
 	"name": "root-website",
 	"version": "1.0.0",
 	"workspaces": [
-		"projects/*"
+		"docusaurus-discordjs-docgen",
+		"docusaurus-typedoc-json-parser"
 	],
 	"description": "Website with the Sapphire guide, hosted on https://sapphirejs.dev",
 	"author": "@sapphire",
 	"license": "MIT",
 	"private": true,
 	"scripts": {
+		"build-plugin": "tsc -b docusaurus-typedoc-json-parser",
 		"docusaurus": "docusaurus",
-		"start": "docusaurus start",
-		"build": "docusaurus build",
+		"start": "yarn build-plugin && docusaurus start",
+		"build": "yarn build-plugin && docusaurus build",
 		"swizzle": "docusaurus swizzle",
 		"deploy": "docusaurus deploy",
 		"clear": "docusaurus clear",
@@ -19,18 +21,15 @@
 		"write-translations": "docusaurus write-translations",
 		"write-heading-ids": "docusaurus write-heading-ids",
 		"typecheck": "tsc",
+		"update": "yarn upgrade-interactive",
 		"lint": "eslint src --ext mjs,ts --fix",
 		"lint:md": "markdownlint-cli2-fix",
 		"lint:md-no-fix": "markdownlint-cli2",
 		"clean": "node scripts/clean.mjs",
 		"format": "prettier --write \"{src,static,scripts,docs}/**/*.{js,jsx,ts,tsx,css,json,md,mdx,yml}\"",
 		"format:check": "prettier --check \"{src,static,scripts,docs}/**/*.{js,jsx,ts,tsx,css,json,md,mdx,yml}\"",
-		"update": "yarn upgrade-interactive",
 		"postinstall": "husky install .github/husky",
-		"clean-projects": "rimraf \"./projects/**/node_modules\" \"./projects/**/dist\" \"./projects/**/build\" \"./projects/**/prebuild\"",
-		"vercel-build": "yarn make-djs-node-14-compatible && yarn build",
-		"update-submodules": "git pull --recurse-submodules && git submodule update --remote --recursive",
-		"make-djs-node-14-compatible": "node scripts/make-djs-node-14-compatible.mjs"
+		"vercel-build": "yarn build"
 	},
 	"dependencies": {
 		"@docusaurus/core": "2.1.0",
@@ -53,15 +52,9 @@
 		"@commitlint/cli": "^17.1.2",
 		"@commitlint/config-conventional": "^17.1.0",
 		"@docusaurus/module-type-aliases": "2.1.0",
-		"@sapphire/cron": "^1.0.0",
-		"@sapphire/decorators": "^5.0.0",
-		"@sapphire/duration": "^1.0.0",
 		"@sapphire/eslint-config": "^4.3.8",
 		"@sapphire/fetch": "^2.4.1",
 		"@sapphire/prettier-config": "^1.4.4",
-		"@sapphire/result": "^2.6.0",
-		"@sapphire/timer-manager": "^1.0.0",
-		"@sapphire/timestamp": "^1.0.0",
 		"@sapphire/ts-config": "^3.3.4",
 		"@types/node": "^18.11.3",
 		"@types/react": "^18.0.21",
@@ -69,7 +62,6 @@
 		"@typescript-eslint/eslint-plugin": "^5.40.1",
 		"@typescript-eslint/parser": "^5.40.1",
 		"cz-conventional-changelog": "^3.3.0",
-		"docusaurus-plugin-typedoc": "^0.17.5",
 		"eslint": "^8.26.0",
 		"eslint-config-prettier": "^8.5.0",
 		"eslint-plugin-import": "^2.26.0",
@@ -83,21 +75,12 @@
 		"markdownlint-cli2": "^0.5.1",
 		"prettier": "^2.7.1",
 		"pretty-quick": "^3.1.3",
-		"replace-in-file": "^6.3.5",
-		"rimraf": "^3.0.2",
-		"ts-node": "^10.9.1",
-		"typedoc": "0.22.18",
-		"typedoc-plugin-djs-links": "^1.2.0",
-		"typedoc-plugin-markdown": "^3.13.6",
-		"typedoc-plugin-mdn-links": "^2.0.0",
 		"typescript": "^4.8.4"
 	},
 	"resolutions": {
 		"ansi-regex": "^5.0.1",
 		"minimist": "^1.2.7",
-		"async": "^2.6.4",
-		"typedoc": "0.22.17",
-		"discord-api-types": "^0.36.3"
+		"async": "^2.6.4"
 	},
 	"browserslist": {
 		"production": [
diff --git a/projects/framework b/projects/framework
deleted file mode 160000
index 5d29c0a1..00000000
--- a/projects/framework
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5d29c0a17531df32021f6fe36b25a5621587301f
diff --git a/projects/pieces b/projects/pieces
deleted file mode 160000
index c26e3144..00000000
--- a/projects/pieces
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c26e314482895e3925987d21ab7906a90dece6c8
diff --git a/projects/plugins b/projects/plugins
deleted file mode 160000
index 11510012..00000000
--- a/projects/plugins
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 115100125adf517707aa2f2368ce520c5b4ed3d4
diff --git a/projects/shapeshift b/projects/shapeshift
deleted file mode 160000
index 676b2855..00000000
--- a/projects/shapeshift
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 676b28553f669ba2665272e15bd1f2ad9c3acf0c
diff --git a/projects/type b/projects/type
deleted file mode 160000
index 36f6db4f..00000000
--- a/projects/type
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 36f6db4f10af4db8889b3490fff8defcda036292
diff --git a/projects/utilities b/projects/utilities
deleted file mode 160000
index a90f2875..00000000
--- a/projects/utilities
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a90f28758e7b5e18c3654cffc9bd241e76253fee
diff --git a/scripts/make-djs-node-14-compatible.mjs b/scripts/make-djs-node-14-compatible.mjs
deleted file mode 100644
index 9bd0f994..00000000
--- a/scripts/make-djs-node-14-compatible.mjs
+++ /dev/null
@@ -1,28 +0,0 @@
-import { sep } from 'node:path';
-import { fileURLToPath } from 'node:url';
-import replace from 'replace-in-file';
-
-const discordJsSrcFolder = new URL('../node_modules/discord.js/src/', import.meta.url);
-const files = `${fileURLToPath(discordJsSrcFolder)}**${sep}*.js`;
-
-const optionsLogicalNullish = {
-	files,
-	from: /([\w_\.]+) \?\?= (.+);/g,
-	to: '$1 !== null && $1 !== void 0 ? $1 : ($1 = $2);'
-};
-
-const optionsLogicalAnd = {
-	files,
-	from: /([a-zA-Z].+) \&\&= (.+);/g,
-	to: '$1 && ($1 = $2);'
-};
-
-const optionsLogicalOr = {
-	files,
-	from: /([a-zA-Z].+) \|\|= (.+);/g,
-	to: '$1 || ($1 = $2);'
-};
-
-await replace.replaceInFile(optionsLogicalNullish);
-await replace.replaceInFile(optionsLogicalAnd);
-await replace.replaceInFile(optionsLogicalOr);
diff --git a/temporary-errors-log-of-broken-links.md b/temporary-errors-log-of-broken-links.md
new file mode 100644
index 00000000..7dcc7cd9
--- /dev/null
+++ b/temporary-errors-log-of-broken-links.md
@@ -0,0 +1,77 @@
+-   On source page path = /docs/Documentation/sapphire-framework/class/argument:
+    -> linking to ../../sapphire-pieces/class/aliaspiece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/aliaspiece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/argumentstore:
+    -> linking to ../../sapphire-pieces/class/aliasstore.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/aliasstore.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/command:
+    -> linking to ../../sapphire-pieces/class/aliaspiece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/aliaspiece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/commandstore:
+    -> linking to ../../sapphire-pieces/class/aliasstore.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/aliasstore.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/interactionhandler:
+    -> linking to ../../sapphire-pieces/class/piece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/piece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/interactionhandlerstore:
+    -> linking to ../../sapphire-pieces/class/store.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/store.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/listener:
+    -> linking to ../../sapphire-pieces/class/piece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/piece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/listenerstore:
+    -> linking to ../../sapphire-pieces/class/store.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/store.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/precondition:
+    -> linking to ../../sapphire-pieces/class/piece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/piece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/preconditionstore:
+    -> linking to ../../sapphire-pieces/class/store.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/store.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/class/sapphireclient:
+    -> linking to ../../sapphire-pieces/class/storeregistry.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/storeregistry.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/typedef/pieceoptions:
+    -> linking to ../../sapphire-pieces/class/piece.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/piece.mdx)
+
+-   On source page path = /docs/Documentation/sapphire-framework/typedef/storeregistryentries:
+    -> linking to ../../sapphire-pieces/class/storeregistry.mdx (resolved as: /docs/Documentation/sapphire-pieces/class/storeregistry.mdx)
+
+-   On source page path = /docs/Guide/arguments/built-in-arguments:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/Resolvers.EmojiObject (resolved as: /docs/Documentation/sapphire-framework/interfaces/Resolvers.EmojiObject)
+
+-   On source page path = /docs/Guide/getting-started/getting-started-with-sapphire:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/SapphireClientOptions#baseuserdirectory (resolved as: /docs/Documentation/sapphire-framework/interfaces/SapphireClientOptions)
+
+-   On source page path = /docs/Guide/plugins/API/rate-limiting:
+    -> linking to ../../../Documentation/sapphire-ratelimits/class/RateLimitManager (resolved as: /docs/Documentation/sapphire-ratelimits/class/RateLimitManager)
+
+-   On source page path = /docs/Guide/plugins/i18next/getting-started:
+    -> linking to ../../../Documentation/sapphire-framework/interfaces/SapphireClientOptions (resolved as: /docs/Documentation/sapphire-framework/interfaces/SapphireClientOptions)
+    -> linking to ../../../Documentation/sapphire-plugin-i18next/class/InternationalizationHandler#fetchlanguage (resolved as: /docs/Documentation/sapphire-plugin-i18next/class/InternationalizationHandler)
+    -> linking to ../../../Documentation/sapphire-plugin-i18next/interfaces/InternationalizationContext (resolved as: /docs/Documentation/sapphire-plugin-i18next/interfaces/InternationalizationContext)
+
+-   On source page path = /docs/Guide/preconditions/channel-types:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#runin (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/enums/CommandOptionsRunTypeEnum (resolved as: /docs/Documentation/sapphire-framework/enums/CommandOptionsRunTypeEnum)
+
+-   On source page path = /docs/Guide/preconditions/command-cooldown:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#cooldowndelay (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-time-utilities (resolved as: /docs/Documentation/sapphire-time-utilities)
+    -> linking to ../../Documentation/sapphire-time-utilities/typedefs/Time (resolved as: /docs/Documentation/sapphire-time-utilities/typedefs/Time)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#cooldownfilteredusers (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#cooldownlimit (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#cooldownscope (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/enums/BucketScope (resolved as: /docs/Documentation/sapphire-framework/enums/BucketScope)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/SapphireClientOptions#defaultcooldown (resolved as: /docs/Documentation/sapphire-framework/interfaces/SapphireClientOptions)
+
+-   On source page path = /docs/Guide/preconditions/creating-your-own-preconditions:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#preconditions (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/Preconditions (resolved as: /docs/Documentation/sapphire-framework/interfaces/Preconditions)
+
+-   On source page path = /docs/Guide/preconditions/handling-permissions:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#requireduserpermissions (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+    -> linking to ../../Documentation/sapphire-framework/interfaces/CommandOptions#requiredclientpermissions (resolved as: /docs/Documentation/sapphire-framework/interfaces/CommandOptions)
+
+-   On source page path = /docs/Guide/preconditions/reporting-precondition-failure:
+    -> linking to ../../Documentation/sapphire-framework/interfaces/MessageCommandDeniedPayload (resolved as: /docs/Documentation/sapphire-framework/interfaces/MessageCommandDeniedPayload)
diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json
index cd608919..75f65a9e 100644
--- a/tsconfig.eslint.json
+++ b/tsconfig.eslint.json
@@ -1,4 +1,16 @@
 {
 	"extends": "./tsconfig.json",
-	"include": ["babel.config.js", "docs/General", "docs/Guide", "docusaurus.config.js", "projects", "scripts", "sidebars.js", "src", "static"]
+	"include": [
+		"babel.config.js",
+		"docs/General",
+		"docs/Guide",
+		"docusaurus.config.js",
+		"projects",
+		"scripts",
+		"sidebars.js",
+		"src",
+		"static",
+		"docusaurus-discordjs-docgen",
+		"docusaurus-typedoc-json-parser"
+	]
 }
diff --git a/yarn.lock b/yarn.lock
index 17be09af..d18ca54a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5,25 +5,6 @@ __metadata:
   version: 6
   cacheKey: 8
 
-"@actions/core@npm:^1.10.0":
-  version: 1.10.0
-  resolution: "@actions/core@npm:1.10.0"
-  dependencies:
-    "@actions/http-client": ^2.0.1
-    uuid: ^8.3.2
-  checksum: 0a75621e007ab20d887434cdd165f0b9036f14c22252a2faed33543d8b9d04ec95d823e69ca636a25245574e4585d73e1e9e47a845339553c664f9f2c9614669
-  languageName: node
-  linkType: hard
-
-"@actions/http-client@npm:^2.0.1":
-  version: 2.0.1
-  resolution: "@actions/http-client@npm:2.0.1"
-  dependencies:
-    tunnel: ^0.0.6
-  checksum: 799ec3df91e28a9da91ce6592e94f8b8923ccf6cc21a2f72c7429be5af5273f1625335411adc2a1bb222d56c852d5767214dfa6fa32a6da7e81dba8290e08f17
-  languageName: node
-  linkType: hard
-
 "@algolia/autocomplete-core@npm:1.7.1":
   version: 1.7.1
   resolution: "@algolia/autocomplete-core@npm:1.7.1"
@@ -1606,7 +1587,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.8.4":
+"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.8.4":
   version: 7.19.4
   resolution: "@babel/runtime@npm:7.19.4"
   dependencies:
@@ -1655,13 +1636,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@bcoe/v8-coverage@npm:^0.2.3":
-  version: 0.2.3
-  resolution: "@bcoe/v8-coverage@npm:0.2.3"
-  checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27
-  languageName: node
-  linkType: hard
-
 "@colors/colors@npm:1.5.0":
   version: 1.5.0
   resolution: "@colors/colors@npm:1.5.0"
@@ -1869,52 +1843,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@discordjs/builders@npm:^0.16.0":
-  version: 0.16.0
-  resolution: "@discordjs/builders@npm:0.16.0"
-  dependencies:
-    "@sapphire/shapeshift": ^3.5.1
-    discord-api-types: ^0.36.2
-    fast-deep-equal: ^3.1.3
-    ts-mixer: ^6.0.1
-    tslib: ^2.4.0
-  checksum: bf7ab00924bf84678c139b32c3b6bda16d62f190a1674ebaa4ec8767c7105890b1375716296037306661e138fe1c09c535b3141a047b7fceafaa92937a76cb8b
-  languageName: node
-  linkType: hard
-
-"@discordjs/collection@npm:^0.7.0":
-  version: 0.7.0
-  resolution: "@discordjs/collection@npm:0.7.0"
-  checksum: 141aa35a5433bacba3617b533557b4948388c7b59cdaecee51ccd721c1b9242e50d95bdef53ee2491535a017095f5072ace3c3e9e594193f67a1c5a8a4b7db93
-  languageName: node
-  linkType: hard
-
-"@discordjs/collection@npm:^1.1.0, @discordjs/collection@npm:^1.2.0":
-  version: 1.2.0
-  resolution: "@discordjs/collection@npm:1.2.0"
-  checksum: 76eae566834d78437363a3437d10c74b485b0a8b0dd350745e7bbb45d0bdc834b8ce6c1008c41728f7cbdf9be80a3147e8006610ed8d34bec8b31b7c521d40c2
-  languageName: node
-  linkType: hard
-
-"@discordjs/node-pre-gyp@npm:^0.4.4":
-  version: 0.4.5
-  resolution: "@discordjs/node-pre-gyp@npm:0.4.5"
-  dependencies:
-    detect-libc: ^2.0.0
-    https-proxy-agent: ^5.0.0
-    make-dir: ^3.1.0
-    node-fetch: ^2.6.7
-    nopt: ^5.0.0
-    npmlog: ^5.0.1
-    rimraf: ^3.0.2
-    semver: ^7.3.5
-    tar: ^6.1.11
-  bin:
-    node-pre-gyp: bin/node-pre-gyp
-  checksum: 60ba7bfdb9e002ff6ff47086312ca446e97b2dfa695a581a1b49eb94d2c716ad509166d97b66b76096d8fd33b9aaa4bb88dad083980821b7691aa55ebccdb5e4
-  languageName: node
-  linkType: hard
-
 "@docsearch/css@npm:3.2.2":
   version: 3.2.2
   resolution: "@docsearch/css@npm:3.2.2"
@@ -2400,7 +2328,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@docusaurus/types@npm:2.1.0":
+"@docusaurus/types@npm:2.1.0, @docusaurus/types@npm:^2.1.0":
   version: 2.1.0
   resolution: "@docusaurus/types@npm:2.1.0"
   dependencies:
@@ -2474,27 +2402,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-arm@npm:0.15.12":
-  version: 0.15.12
-  resolution: "@esbuild/android-arm@npm:0.15.12"
-  conditions: os=android & cpu=arm
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-loong64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "@esbuild/linux-loong64@npm:0.14.54"
-  conditions: os=linux & cpu=loong64
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-loong64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "@esbuild/linux-loong64@npm:0.15.12"
-  conditions: os=linux & cpu=loong64
-  languageName: node
-  linkType: hard
-
 "@eslint/eslintrc@npm:^1.3.3":
   version: 1.3.3
   resolution: "@eslint/eslintrc@npm:1.3.3"
@@ -2512,26 +2419,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@favware/cliff-jumper@npm:^1.8.8":
-  version: 1.8.8
-  resolution: "@favware/cliff-jumper@npm:1.8.8"
-  dependencies:
-    "@sapphire/result": ^2.5.0
-    "@sapphire/utilities": ^3.9.3
-    colorette: ^2.0.19
-    commander: ^9.4.1
-    conventional-changelog-angular: ^5.0.13
-    conventional-recommended-bump: ^6.1.0
-    js-yaml: ^4.1.0
-    semver: ^7.3.7
-    typescript: ^4.8.4
-  bin:
-    cj: ./dist/cli.js
-    cliff-jumper: ./dist/cli.js
-  checksum: 1e82daac8d975b7835b7326db794502d0aebd4f141dd18fdf5ccb80d4e2566050272bf2be5d82d918ea81a2a5a0245c71cb6738f366142e4da8d95403c08ab3e
-  languageName: node
-  linkType: hard
-
 "@favware/colorette-spinner@npm:^1.0.1":
   version: 1.0.1
   resolution: "@favware/colorette-spinner@npm:1.0.1"
@@ -2541,43 +2428,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@favware/npm-deprecate@npm:^1.0.5":
-  version: 1.0.5
-  resolution: "@favware/npm-deprecate@npm:1.0.5"
-  dependencies:
-    "@sapphire/fetch": ^2.4.1
-    "@sapphire/utilities": ^3.8.0
-    colorette: ^2.0.19
-    commander: ^9.4.0
-    js-yaml: ^4.1.0
-    micromatch: ^4.0.5
-    npm-package-arg: ^9.1.0
-    npm-registry-fetch: ^13.3.0
-  bin:
-    nd: dist/cli.js
-    npm-deprecate: dist/cli.js
-  checksum: 6ea6ab42cad38d9ab19bf33a71b0a0056c10edcce23f1cde98c91d1bb39723d996a6ce6203805dd828cc42dffd4d4cd1d9ef0dc1446795ae1df95e2be0a9c640
-  languageName: node
-  linkType: hard
-
-"@favware/rollup-type-bundler@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "@favware/rollup-type-bundler@npm:2.0.0"
-  dependencies:
-    "@sapphire/utilities": ^3.11.0
-    colorette: ^2.0.19
-    commander: ^9.4.1
-    js-yaml: ^4.1.0
-    rollup: ^3.2.1
-    rollup-plugin-dts: ^5.0.0
-    typescript: ^4.8.4
-  bin:
-    rollup-type-bundler: ./dist/cli.js
-    rtb: ./dist/cli.js
-  checksum: 382244abb06434b9a1486337d9257464cc79afdb3da699373ca3d356951b95183206c3bac052a6491184436b10b41a8639b6ef155c58eed5b6f54be95d898918
-  languageName: node
-  linkType: hard
-
 "@gar/promisify@npm:^1.1.3":
   version: 1.1.3
   resolution: "@gar/promisify@npm:1.1.3"
@@ -2635,20 +2485,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@ioredis/commands@npm:^1.1.1":
-  version: 1.2.0
-  resolution: "@ioredis/commands@npm:1.2.0"
-  checksum: 9b20225ba36ef3e5caf69b3c0720597c3016cc9b1e157f519ea388f621dd9037177f84cfe7e25c4c32dad7dd90c70ff9123cd411f747e053cf292193c9c461e2
-  languageName: node
-  linkType: hard
-
-"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3":
-  version: 0.1.3
-  resolution: "@istanbuljs/schema@npm:0.1.3"
-  checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9
-  languageName: node
-  linkType: hard
-
 "@jest/schemas@npm:^29.0.0":
   version: 29.0.0
   resolution: "@jest/schemas@npm:29.0.0"
@@ -2734,7 +2570,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.9":
+"@jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.9":
   version: 0.3.17
   resolution: "@jridgewell/trace-mapping@npm:0.3.17"
   dependencies:
@@ -2744,13 +2580,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@jspm/core@npm:2.0.0-beta.24":
-  version: 2.0.0-beta.24
-  resolution: "@jspm/core@npm:2.0.0-beta.24"
-  checksum: c3a986d523a61522794c26b809d1fb40b1404a45a5661ba476b5d529e9c15c4c0dc51983c95168532bcc7455a387f0eceeed06f4b386aa219173535fa53a0a62
-  languageName: node
-  linkType: hard
-
 "@leichtgewicht/ip-codec@npm:^2.0.1":
   version: 2.0.4
   resolution: "@leichtgewicht/ip-codec@npm:2.0.4"
@@ -2801,48 +2630,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:2.1.2"
-  conditions: os=darwin & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:2.1.2"
-  conditions: os=darwin & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:2.1.2"
-  conditions: os=linux & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@msgpackr-extract/msgpackr-extract-linux-arm@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:2.1.2"
-  conditions: os=linux & cpu=arm
-  languageName: node
-  linkType: hard
-
-"@msgpackr-extract/msgpackr-extract-linux-x64@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:2.1.2"
-  conditions: os=linux & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@msgpackr-extract/msgpackr-extract-win32-x64@npm:2.1.2":
-  version: 2.1.2
-  resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:2.1.2"
-  conditions: os=win32 & cpu=x64
-  languageName: node
-  linkType: hard
-
 "@nodelib/fs.scandir@npm:2.1.5":
   version: 2.1.5
   resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -2921,19 +2708,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rollup/plugin-inject@npm:^4.0.4":
-  version: 4.0.4
-  resolution: "@rollup/plugin-inject@npm:4.0.4"
-  dependencies:
-    "@rollup/pluginutils": ^3.1.0
-    estree-walker: ^2.0.1
-    magic-string: ^0.25.7
-  peerDependencies:
-    rollup: ^1.20.0 || ^2.0.0
-  checksum: 22a1847372a96296a5b176af3d5b23ac7b48143a32c77ec4efed38daf4b0d1399a3cd144496d65731299984c5f98c9e00dc6a7f53d0fe87bd4aab2d4bd7b8289
-  languageName: node
-  linkType: hard
-
 "@rollup/plugin-node-resolve@npm:^11.2.1":
   version: 11.2.1
   resolution: "@rollup/plugin-node-resolve@npm:11.2.1"
@@ -2975,142 +2749,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/async-queue@npm:^1.5.0":
-  version: 1.5.0
-  resolution: "@sapphire/async-queue@npm:1.5.0"
-  checksum: 983dbd1fd1b1798496e5edb6a0db7e4d90015160e1028f20475eab0a92625513f1e8d938bc0305811a9cec461c94e01b1e4191615ff03ba49356f568f3255250
-  languageName: node
-  linkType: hard
-
-"@sapphire/async-queue@workspace:projects/utilities/packages/async-queue":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/async-queue@workspace:projects/utilities/packages/async-queue"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/bitfield@workspace:projects/utilities/packages/bitfield":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/bitfield@workspace:projects/utilities/packages/bitfield"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/cron@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@sapphire/cron@npm:1.0.0"
-  dependencies:
-    "@sapphire/utilities": ^3.9.3
-  checksum: ce33466c52ec8ee9392e67116858643c963a19543f77ce56ca928c743e04f18cde2c793a15c7f0fe0db071f1399a95338f17a25ba746a877dea0918c8b13672e
-  languageName: node
-  linkType: hard
-
-"@sapphire/cron@workspace:^, @sapphire/cron@workspace:projects/utilities/packages/cron":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/cron@workspace:projects/utilities/packages/cron"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/utilities": "workspace:^"
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/decorators@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "@sapphire/decorators@npm:5.0.0"
-  dependencies:
-    tslib: ^2.4.0
-  checksum: 18f33669e287df45e7805862c16a6e9c1813c7836985270c0c5867db6e9f724879a228fd19d82fd567f4108d671b9fa862d02ef0010e7f21bfcbc87af05d9ff4
-  languageName: node
-  linkType: hard
-
-"@sapphire/decorators@workspace:projects/utilities/packages/decorators":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/decorators@workspace:projects/utilities/packages/decorators"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/discord-utilities": "workspace:^"
-    "@sapphire/discord.js-utilities": "workspace:^"
-    "@sapphire/ratelimits": "workspace:^"
-    "@sapphire/result": "workspace:^"
-    "@sapphire/utilities": "workspace:^"
-    "@vitest/coverage-c8": ^0.24.3
-    tslib: ^2.4.0
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/discord-utilities@npm:^2.11.6":
-  version: 2.11.6
-  resolution: "@sapphire/discord-utilities@npm:2.11.6"
-  checksum: aaabbb3558fa9255ab7fd874c6dba845caa6b5b2cbfccc96c6365d828888fc50b95c4fc9cb5f4aa6a7c904d7d9a95e61b80018a90e55bcc5d3779f2fb57926f1
-  languageName: node
-  linkType: hard
-
-"@sapphire/discord-utilities@workspace:^, @sapphire/discord-utilities@workspace:projects/utilities/packages/discord-utilities":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/discord-utilities@workspace:projects/utilities/packages/discord-utilities"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/discord.js-utilities@npm:^5.0.1, @sapphire/discord.js-utilities@npm:^5.1.1":
-  version: 5.1.1
-  resolution: "@sapphire/discord.js-utilities@npm:5.1.1"
-  dependencies:
-    "@sapphire/discord-utilities": ^2.11.6
-    "@sapphire/duration": ^1.0.0
-    "@sapphire/utilities": ^3.11.0
-    tslib: ^2.4.0
-  checksum: 9abe09dfd06af739fb103eef954a8c3c9516651612e72ad78f5573cc482b41871267f1780ca4437d55e42f25525f01093ef654809e501e7d887f392e0f9c0005
-  languageName: node
-  linkType: hard
-
-"@sapphire/discord.js-utilities@workspace:^, @sapphire/discord.js-utilities@workspace:projects/utilities/packages/discord.js-utilities":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/discord.js-utilities@workspace:projects/utilities/packages/discord.js-utilities"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/rollup-type-bundler": ^2.0.0
-    "@sapphire/discord-utilities": "workspace:^"
-    "@sapphire/duration": "workspace:^"
-    "@sapphire/utilities": "workspace:^"
-    tslib: ^2.4.0
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
 "@sapphire/docusaurus-plugin-npm2yarn2pnpm@npm:1.1.4":
   version: 1.1.4
   resolution: "@sapphire/docusaurus-plugin-npm2yarn2pnpm@npm:1.1.4"
@@ -3120,7 +2758,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/docusaurus-plugin-ts2esm2cjs@npm:1.1.3":
+"@sapphire/docusaurus-plugin-ts2esm2cjs@npm:1.1.3, @sapphire/docusaurus-plugin-ts2esm2cjs@npm:^1.1.3":
   version: 1.1.3
   resolution: "@sapphire/docusaurus-plugin-ts2esm2cjs@npm:1.1.3"
   dependencies:
@@ -3133,27 +2771,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/duration@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@sapphire/duration@npm:1.0.0"
-  checksum: dadf3b5742742b5f724d1d78b0c59fd468ffe3ac817da2ba84361ac310528cb8c43f3d9d6032ff08f0f22fcaf61b495fb29b87800748e14abb0b780e86afda75
-  languageName: node
-  linkType: hard
-
-"@sapphire/duration@workspace:^, @sapphire/duration@workspace:projects/utilities/packages/duration":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/duration@workspace:projects/utilities/packages/duration"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
 "@sapphire/eslint-config@npm:^4.3.8":
   version: 4.3.8
   resolution: "@sapphire/eslint-config@npm:4.3.8"
@@ -3169,39 +2786,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/eslint-config@workspace:^, @sapphire/eslint-config@workspace:projects/utilities/packages/eslint-config":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/eslint-config@workspace:projects/utilities/packages/eslint-config"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    "@vitest/coverage-c8": ^0.24.3
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    prettier: ^2.7.1
-    tsup: ^6.2.3
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/event-iterator@workspace:projects/utilities/packages/event-iterator":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/event-iterator@workspace:projects/utilities/packages/event-iterator"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tslib: ^2.4.0
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
 "@sapphire/fetch@npm:^2.4.1":
   version: 2.4.1
   resolution: "@sapphire/fetch@npm:2.4.1"
@@ -3211,528 +2795,32 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/fetch@workspace:^, @sapphire/fetch@workspace:projects/utilities/packages/fetch":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/fetch@workspace:projects/utilities/packages/fetch"
+"@sapphire/node-utilities@npm:^1.0.0":
+  version: 1.0.0
+  resolution: "@sapphire/node-utilities@npm:1.0.0"
+  checksum: 80b99bd4f0fdcbccc289d1fc165321b82d421896355259ec54b733a72cb3e50635c00f126a9e4d56a0247a54aa77a1a96e1d6e99c4c8815dc061e53a39e87c4e
+  languageName: node
+  linkType: hard
+
+"@sapphire/prettier-config@npm:^1.4.3, @sapphire/prettier-config@npm:^1.4.4":
+  version: 1.4.4
+  resolution: "@sapphire/prettier-config@npm:1.4.4"
   dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    cross-fetch: ^3.1.5
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
+    prettier: ^2.7.1
+  checksum: bf0f37de120b72b054da8b90ddf08c23210c8b01e42f66c4a6833d55ac78c02e3df7f9af6d35f2574e9c9f5c8b131625730a60bcac055b211789b52101a8921e
+  languageName: node
+  linkType: hard
 
-"@sapphire/framework@npm:^3.1.3":
-  version: 3.1.3
-  resolution: "@sapphire/framework@npm:3.1.3"
-  dependencies:
-    "@discordjs/builders": ^0.16.0
-    "@sapphire/discord-utilities": ^2.11.6
-    "@sapphire/discord.js-utilities": ^5.0.1
-    "@sapphire/lexure": ^1.1.1
-    "@sapphire/pieces": ^3.5.2
-    "@sapphire/ratelimits": ^2.4.5
-    "@sapphire/result": ^2.5.0
-    "@sapphire/stopwatch": ^1.5.0
-    "@sapphire/utilities": ^3.10.0
-    tslib: ^2.4.0
-  checksum: 527728ff68f07d7324181b9669e4907208beae3327b4070705ab89c3b20d0fc7f1eb6038b8f2b7be50f24845863b6a3765a3365277c96eee0233cd1019126eb1
+"@sapphire/result@npm:^2.6.0":
+  version: 2.6.0
+  resolution: "@sapphire/result@npm:2.6.0"
+  checksum: bab9e963c85c7ea0a410c36617b7d32fca8749739b7fbb61bf7a2eff566d002af78606c379b1a71f2857bf9c04d3f5f1af67f02278da75ac660f2f6ddfef26b5
   languageName: node
   linkType: hard
 
-"@sapphire/framework@workspace:projects/framework":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/framework@workspace:projects/framework"
-  dependencies:
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@discordjs/builders": ^0.16.0
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@favware/rollup-type-bundler": ^2.0.0
-    "@sapphire/discord-utilities": ^2.11.6
-    "@sapphire/discord.js-utilities": ^5.1.1
-    "@sapphire/eslint-config": ^4.3.8
-    "@sapphire/lexure": ^1.1.2
-    "@sapphire/pieces": ^3.5.2
-    "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/ratelimits": ^2.4.5
-    "@sapphire/result": ^2.6.0
-    "@sapphire/stopwatch": ^1.5.0
-    "@sapphire/ts-config": ^3.3.4
-    "@sapphire/utilities": ^3.11.0
-    "@types/node": ^18.11.0
-    "@types/ws": ^8.5.3
-    "@typescript-eslint/eslint-plugin": ^5.40.1
-    "@typescript-eslint/parser": ^5.40.1
-    "@vitest/coverage-c8": ^0.24.3
-    cz-conventional-changelog: ^3.3.0
-    discord.js: ^13.12.0
-    esbuild-plugin-file-path-extensions: ^1.0.0
-    esbuild-plugin-version-injector: ^1.0.0
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    gen-esm-wrapper: ^1.1.3
-    husky: ^8.0.1
-    lint-staged: ^13.0.3
-    pinst: ^3.0.0
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    tsup: ^6.3.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/lexure@npm:^1.1.1, @sapphire/lexure@npm:^1.1.2":
-  version: 1.1.2
-  resolution: "@sapphire/lexure@npm:1.1.2"
-  dependencies:
-    "@sapphire/result": ^2.6.0
-  checksum: fe25476ba0189ff8c55c6bdb58ef81b0092f46882c59181e712d68adb68c9d86742365cfcb77e2d6dfb08267752894c9da51615718a1ab77ee3ff3609d93b240
-  languageName: node
-  linkType: hard
-
-"@sapphire/lexure@workspace:projects/utilities/packages/lexure":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/lexure@workspace:projects/utilities/packages/lexure"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/result": "workspace:^"
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/node-utilities@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@sapphire/node-utilities@npm:1.0.0"
-  checksum: 80b99bd4f0fdcbccc289d1fc165321b82d421896355259ec54b733a72cb3e50635c00f126a9e4d56a0247a54aa77a1a96e1d6e99c4c8815dc061e53a39e87c4e
-  languageName: node
-  linkType: hard
-
-"@sapphire/node-utilities@workspace:projects/utilities/packages/node-utilities":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/node-utilities@workspace:projects/utilities/packages/node-utilities"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/phisherman@workspace:projects/utilities/packages/phisherman":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/phisherman@workspace:projects/utilities/packages/phisherman"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/fetch": "workspace:^"
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/pieces@npm:^3.5.2":
-  version: 3.5.2
-  resolution: "@sapphire/pieces@npm:3.5.2"
-  dependencies:
-    "@discordjs/collection": ^1.1.0
-    "@sapphire/utilities": ^3.10.0
-    tslib: ^2.4.0
-  checksum: 889ee2da817605dcd7681a2c04d471611106f05fc7463220b34eb6a4f6717e47c7c9287dd4903bb42c766f9556c2a987ca997349afa886f25203901794fbec05
-  languageName: node
-  linkType: hard
-
-"@sapphire/pieces@workspace:projects/pieces":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/pieces@workspace:projects/pieces"
-  dependencies:
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@discordjs/collection": ^1.2.0
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@favware/rollup-type-bundler": ^2.0.0
-    "@sapphire/eslint-config": ^4.3.8
-    "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/ts-config": ^3.3.4
-    "@sapphire/utilities": ^3.11.0
-    "@types/node": ^18.11.0
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    cz-conventional-changelog: ^3.3.0
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    gen-esm-wrapper: ^1.1.3
-    husky: ^8.0.1
-    lint-staged: ^13.0.3
-    pinst: ^3.0.0
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-api@workspace:projects/plugins/packages/api":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-api@workspace:projects/plugins/packages/api"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@types/node-fetch": 2.6.2
-    "@types/psl": ^1.1.0
-    "@types/ws": ^8.5.3
-    gen-esm-wrapper: ^1.1.3
-    node-fetch: 2.6.7
-    psl: ^1.9.0
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-editable-commands@workspace:projects/plugins/packages/editable-commands":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-editable-commands@workspace:projects/plugins/packages/editable-commands"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@skyra/editable-commands": ^2.1.4
-    gen-esm-wrapper: ^1.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-hmr@workspace:projects/plugins/packages/hmr":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-hmr@workspace:projects/plugins/packages/hmr"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    chokidar: ^3.5.3
-    gen-esm-wrapper: ^1.1.3
-    tslib: 2.x
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-i18next@workspace:projects/plugins/packages/i18next":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-i18next@workspace:projects/plugins/packages/i18next"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/utilities": ^3.11.0
-    "@skyra/i18next-backend": ^1.1.0
-    chokidar: ^3.5.3
-    gen-esm-wrapper: ^1.1.3
-    i18next: ^21.10.0
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-logger@workspace:projects/plugins/packages/logger":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-logger@workspace:projects/plugins/packages/logger"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/timestamp": ^1.0.0
-    colorette: ^2.0.19
-    gen-esm-wrapper: ^1.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-pattern-commands@workspace:projects/plugins/packages/pattern-commands":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-pattern-commands@workspace:projects/plugins/packages/pattern-commands"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    gen-esm-wrapper: ^1.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-scheduled-tasks@workspace:projects/plugins/packages/scheduled-tasks":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-scheduled-tasks@workspace:projects/plugins/packages/scheduled-tasks"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/stopwatch": ^1.5.0
-    "@sapphire/utilities": ^3.11.0
-    bullmq: ^2.3.1
-    gen-esm-wrapper: ^1.1.3
-    sqs-consumer: ^5.7.0
-    sqs-producer: ^2.1.0
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/plugin-subcommands@workspace:projects/plugins/packages/subcommands":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/plugin-subcommands@workspace:projects/plugins/packages/subcommands"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/utilities": ^3.11.0
-    gen-esm-wrapper: ^1.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/prettier-config@npm:^1.4.3, @sapphire/prettier-config@npm:^1.4.4":
-  version: 1.4.4
-  resolution: "@sapphire/prettier-config@npm:1.4.4"
-  dependencies:
-    prettier: ^2.7.1
-  checksum: bf0f37de120b72b054da8b90ddf08c23210c8b01e42f66c4a6833d55ac78c02e3df7f9af6d35f2574e9c9f5c8b131625730a60bcac055b211789b52101a8921e
-  languageName: node
-  linkType: hard
-
-"@sapphire/prettier-config@workspace:projects/utilities/packages/prettier-config":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/prettier-config@workspace:projects/utilities/packages/prettier-config"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    prettier: ^2.7.1
-    tsup: ^6.2.3
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/ratelimits@npm:^2.4.5":
-  version: 2.4.5
-  resolution: "@sapphire/ratelimits@npm:2.4.5"
-  dependencies:
-    "@sapphire/timer-manager": ^1.0.0
-  checksum: e987d285c974e600222298e2c5e9523581c024059b3ec93cdfc71fc704b2dca5a55f126b897ee71b8bd82d2516e1d6c17c22355f329f43ead7bc001d9fbd9118
-  languageName: node
-  linkType: hard
-
-"@sapphire/ratelimits@workspace:^, @sapphire/ratelimits@workspace:projects/utilities/packages/ratelimits":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/ratelimits@workspace:projects/utilities/packages/ratelimits"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/timer-manager": "workspace:^"
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/result@npm:^2.5.0, @sapphire/result@npm:^2.6.0":
-  version: 2.6.0
-  resolution: "@sapphire/result@npm:2.6.0"
-  checksum: bab9e963c85c7ea0a410c36617b7d32fca8749739b7fbb61bf7a2eff566d002af78606c379b1a71f2857bf9c04d3f5f1af67f02278da75ac660f2f6ddfef26b5
-  languageName: node
-  linkType: hard
-
-"@sapphire/result@workspace:^, @sapphire/result@workspace:projects/utilities/packages/result":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/result@workspace:projects/utilities/packages/result"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/shapeshift@npm:^3.5.1":
-  version: 3.7.0
-  resolution: "@sapphire/shapeshift@npm:3.7.0"
-  dependencies:
-    fast-deep-equal: ^3.1.3
-    lodash.uniqwith: ^4.5.0
-  checksum: 4fed0865abcf3653406cfa1f4a2a7d1c51103cee1c13ec4fd8fbc84bd32d20b2949e2266531c2d81b9b1e3af32787cd1f5d66a3d6146d6afb553ca2c6377beb1
-  languageName: node
-  linkType: hard
-
-"@sapphire/shapeshift@workspace:projects/shapeshift":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/shapeshift@workspace:projects/shapeshift"
-  dependencies:
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@sapphire/eslint-config": ^4.3.8
-    "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/ts-config": ^3.3.4
-    "@types/jsdom": ^20.0.0
-    "@types/lodash.uniqwith": ^4.5.7
-    "@types/node": ^18.11.0
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    "@vitest/coverage-c8": ^0.24.3
-    cz-conventional-changelog: ^3.3.0
-    esbuild-plugins-node-modules-polyfill: ^1.0.6
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    fast-deep-equal: ^3.1.3
-    husky: ^8.0.1
-    jsdom: ^20.0.1
-    lint-staged: ^13.0.3
-    lodash.uniqwith: ^4.5.0
-    pinst: ^3.0.0
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    ts-node: ^10.9.1
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/snowflake@workspace:projects/utilities/packages/snowflake":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/snowflake@workspace:projects/utilities/packages/snowflake"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/stopwatch@npm:^1.5.0":
-  version: 1.5.0
-  resolution: "@sapphire/stopwatch@npm:1.5.0"
-  dependencies:
-    tslib: ^2.4.0
-  checksum: 23c013598d87d2fcc797efe5d2409ae6836b9221d79eacc10b7c2a95f9d694b562b7ad027dc49e9e8125095417199385a15317520fec371bdb8cc7622085e3af
-  languageName: node
-  linkType: hard
-
-"@sapphire/stopwatch@workspace:projects/utilities/packages/stopwatch":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/stopwatch@workspace:projects/utilities/packages/stopwatch"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@types/jsdom": ^20.0.0
-    "@vitest/coverage-c8": ^0.24.3
-    jsdom: ^20.0.1
-    tslib: ^2.4.0
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/time-utilities@workspace:projects/utilities/packages/time-utilities":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/time-utilities@workspace:projects/utilities/packages/time-utilities"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/cron": "workspace:^"
-    "@sapphire/duration": "workspace:^"
-    "@sapphire/timer-manager": "workspace:^"
-    "@sapphire/timestamp": "workspace:^"
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/timer-manager@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@sapphire/timer-manager@npm:1.0.0"
-  checksum: 2f131c2bf1882528c80e6a4aa8f0d3078ae1e2e3d1afc054878fbdb946dc987073d037dad5122e67d20b98e0ec6a37a8e4da7f9c0a91b9711819ad54bbedd6a4
-  languageName: node
-  linkType: hard
-
-"@sapphire/timer-manager@workspace:^, @sapphire/timer-manager@workspace:projects/utilities/packages/timer-manager":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/timer-manager@workspace:projects/utilities/packages/timer-manager"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/timestamp@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@sapphire/timestamp@npm:1.0.0"
-  checksum: 2852210825626431cb7aee4da9cd04518778854f5b9e8eafc0fa0a57d499251030ad115f0d0c58e15e5b176cfb495301df7418d95e51c4826e9fadc09ff98bbb
-  languageName: node
-  linkType: hard
-
-"@sapphire/timestamp@workspace:^, @sapphire/timestamp@workspace:projects/utilities/packages/timestamp":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/timestamp@workspace:projects/utilities/packages/timestamp"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/ts-config@npm:^3.3.4":
-  version: 3.3.4
-  resolution: "@sapphire/ts-config@npm:3.3.4"
+"@sapphire/ts-config@npm:^3.3.4":
+  version: 3.3.4
+  resolution: "@sapphire/ts-config@npm:3.3.4"
   dependencies:
     tslib: ^2.3.1
     typescript: ^4.6.3
@@ -3740,75 +2828,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@sapphire/ts-config@workspace:projects/utilities/packages/ts-config":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/ts-config@workspace:projects/utilities/packages/ts-config"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@sapphire/eslint-config": "workspace:^"
-    "@vitest/coverage-c8": ^0.24.3
-    tslib: ^2.4.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/type@workspace:projects/type":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/type@workspace:projects/type"
-  dependencies:
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@discordjs/node-pre-gyp": ^0.4.4
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@sapphire/eslint-config": ^4.3.8
-    "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/ts-config": ^3.3.4
-    "@types/node": ^18.11.0
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    "@vitest/coverage-c8": ^0.24.3
-    cz-conventional-changelog: ^3.3.0
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    gen-esm-wrapper: ^1.1.3
-    husky: ^8.0.1
-    lint-staged: ^13.0.3
-    nan: ^2.17.0
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    tslib: ^2.4.0
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"@sapphire/utilities@npm:^3.10.0, @sapphire/utilities@npm:^3.11.0, @sapphire/utilities@npm:^3.8.0, @sapphire/utilities@npm:^3.9.3":
+"@sapphire/utilities@npm:^3.11.0":
   version: 3.11.0
   resolution: "@sapphire/utilities@npm:3.11.0"
   checksum: 3c8521038b8879524e8114f39eefc8b3b06cf825995f709684238b5cb14bd7df06d232a26a88f79160df290a66f9aa3133f5ce4ff8e2398033db9f301ad31e0d
   languageName: node
   linkType: hard
 
-"@sapphire/utilities@workspace:^, @sapphire/utilities@workspace:projects/utilities/packages/utilities":
-  version: 0.0.0-use.local
-  resolution: "@sapphire/utilities@workspace:projects/utilities/packages/utilities"
-  dependencies:
-    "@favware/cliff-jumper": ^1.8.8
-    "@vitest/coverage-c8": ^0.24.3
-    esbuild-plugin-file-path-extensions: ^1.0.0
-    tsup: ^6.2.3
-    typedoc: ^0.23.16
-    typedoc-json-parser: ^6.0.0
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
 "@sideway/address@npm:^4.1.3":
   version: 4.1.4
   resolution: "@sideway/address@npm:4.1.4"
@@ -3846,22 +2872,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@skyra/editable-commands@npm:^2.1.4":
-  version: 2.1.4
-  resolution: "@skyra/editable-commands@npm:2.1.4"
-  checksum: 865c11201c1778543f64dc81e114efae3096bf50653e6301ee576d5d9f2d6623fb3387e39fe06e74ec1b655dd033184d850e5735ea74d54bce169743cc6ab7b3
-  languageName: node
-  linkType: hard
-
-"@skyra/i18next-backend@npm:^1.1.0":
-  version: 1.1.0
-  resolution: "@skyra/i18next-backend@npm:1.1.0"
-  dependencies:
-    tslib: ^2.4.0
-  checksum: 1e89ac67b672e70fc16731da127c46d913222feae12208f621524cff67000c4d530673b11f6797d05f821a0c8705073a3d93eed6ccf865c55235ecbc917b0f1b
-  languageName: node
-  linkType: hard
-
 "@slorber/static-site-generator-webpack-plugin@npm:^4.0.7":
   version: 4.0.7
   resolution: "@slorber/static-site-generator-webpack-plugin@npm:4.0.7"
@@ -4123,19 +3133,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/chai-subset@npm:^1.3.3":
-  version: 1.3.3
-  resolution: "@types/chai-subset@npm:1.3.3"
-  dependencies:
-    "@types/chai": "*"
-  checksum: 4481da7345022995f5a105e6683744f7203d2c3d19cfe88d8e17274d045722948abf55e0adfd97709e0f043dade37a4d4e98cd4c660e2e8a14f23e6ecf79418f
-  languageName: node
-  linkType: hard
-
-"@types/chai@npm:*, @types/chai@npm:^4.3.3":
-  version: 4.3.3
-  resolution: "@types/chai@npm:4.3.3"
-  checksum: 20cd094753e137cfc35939cae7f0ed78ecda7861e5c94704efab6979b9121a63807e9b631bdcf3a2792d6c6dba44050b13387262f9e63ebb040741c01c345f0a
+"@types/common-tags@npm:^1.8.1":
+  version: 1.8.1
+  resolution: "@types/common-tags@npm:1.8.1"
+  checksum: bec6f68c8c434834380abd1dc057aa6ba26661bb0c65c700b65049e9b104d7be96a987d93dbe8726be68554a23a52514a6967d8903fdb51fb8c78cf909d1e4c1
   languageName: node
   linkType: hard
 
@@ -4254,7 +3255,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1":
+"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0":
   version: 2.0.4
   resolution: "@types/istanbul-lib-coverage@npm:2.0.4"
   checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7
@@ -4279,17 +3280,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/jsdom@npm:^20.0.0":
-  version: 20.0.0
-  resolution: "@types/jsdom@npm:20.0.0"
-  dependencies:
-    "@types/node": "*"
-    "@types/tough-cookie": "*"
-    parse5: ^7.0.0
-  checksum: 13e67d31347e02d46ec6a23919b3ce39d86136665922a2a6cb977e216a2f46c22d2f025d0586a64ab492ebaa5f43da669b6f173a5a8cfd3e3bb7c9d19b6cfa9e
-  languageName: node
-  linkType: hard
-
 "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
   version: 7.0.11
   resolution: "@types/json-schema@npm:7.0.11"
@@ -4313,22 +3303,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/lodash.uniqwith@npm:^4.5.7":
-  version: 4.5.7
-  resolution: "@types/lodash.uniqwith@npm:4.5.7"
-  dependencies:
-    "@types/lodash": "*"
-  checksum: feea705d2162d906bfba7043500bb2f149ca6032bb49a24b8f60f96b8ba0a41cd4aff7e82057fe5e9e25909f31ba81b35b34dbda549e5b8ba667db9560285446
-  languageName: node
-  linkType: hard
-
-"@types/lodash@npm:*, @types/lodash@npm:^4.14.186":
-  version: 4.14.186
-  resolution: "@types/lodash@npm:4.14.186"
-  checksum: ee0c1368a8100bb6efb88335107473a41928fc307ff1ef4ff1278868ccddba9c04c68c36d1ffe3a0392ef4a956e1955f7de3203ec09df4f1655dd1b88485c549
-  languageName: node
-  linkType: hard
-
 "@types/mdast@npm:^3.0.0":
   version: 3.0.10
   resolution: "@types/mdast@npm:3.0.10"
@@ -4359,17 +3333,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/node-fetch@npm:2.6.2, @types/node-fetch@npm:^2.6.2":
-  version: 2.6.2
-  resolution: "@types/node-fetch@npm:2.6.2"
-  dependencies:
-    "@types/node": "*"
-    form-data: ^3.0.0
-  checksum: 6f73b1470000d303d25a6fb92875ea837a216656cb7474f66cdd67bb014aa81a5a11e7ac9c21fe19bee9ecb2ef87c1962bceeaec31386119d1ac86e4c30ad7a6
-  languageName: node
-  linkType: hard
-
-"@types/node@npm:*, @types/node@npm:^18.11.0, @types/node@npm:^18.11.3":
+"@types/node@npm:*, @types/node@npm:^18.11.3":
   version: 18.11.3
   resolution: "@types/node@npm:18.11.3"
   checksum: 3a2a9142d891a90a195c296149bf64a69cc0abcc42f543be911ab22b2e0ead85ff077f90af92f0f13f6e3e5e72501469200fd753dfd1101825d4646a89d3ee47
@@ -4418,13 +3382,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/psl@npm:^1.1.0":
-  version: 1.1.0
-  resolution: "@types/psl@npm:1.1.0"
-  checksum: 648a4a40827fb101a05616b9c448b04d40c467db9f09e08099274759fd5e032e7d276013296679765c7d7359f43f0479094c1d8b6a56a8f9445b84b5a9af1263
-  languageName: node
-  linkType: hard
-
 "@types/qs@npm:*":
   version: 6.9.7
   resolution: "@types/qs@npm:6.9.7"
@@ -4567,13 +3524,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/tough-cookie@npm:*":
-  version: 4.0.2
-  resolution: "@types/tough-cookie@npm:4.0.2"
-  checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905
-  languageName: node
-  linkType: hard
-
 "@types/trusted-types@npm:^2.0.2":
   version: 2.0.2
   resolution: "@types/trusted-types@npm:2.0.2"
@@ -4588,7 +3538,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/ws@npm:^8.5.1, @types/ws@npm:^8.5.3":
+"@types/ws@npm:^8.5.1":
   version: 8.5.3
   resolution: "@types/ws@npm:8.5.3"
   dependencies:
@@ -4613,7 +3563,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@typescript-eslint/eslint-plugin@npm:^5.33.1, @typescript-eslint/eslint-plugin@npm:^5.40.0, @typescript-eslint/eslint-plugin@npm:^5.40.1":
+"@typescript-eslint/eslint-plugin@npm:^5.33.1, @typescript-eslint/eslint-plugin@npm:^5.40.1":
   version: 5.40.1
   resolution: "@typescript-eslint/eslint-plugin@npm:5.40.1"
   dependencies:
@@ -4635,7 +3585,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@typescript-eslint/parser@npm:^5.33.1, @typescript-eslint/parser@npm:^5.40.0, @typescript-eslint/parser@npm:^5.40.1":
+"@typescript-eslint/parser@npm:^5.33.1, @typescript-eslint/parser@npm:^5.40.1":
   version: 5.40.1
   resolution: "@typescript-eslint/parser@npm:5.40.1"
   dependencies:
@@ -4732,16 +3682,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@vitest/coverage-c8@npm:^0.24.3":
-  version: 0.24.3
-  resolution: "@vitest/coverage-c8@npm:0.24.3"
-  dependencies:
-    c8: ^7.12.0
-    vitest: 0.24.3
-  checksum: 75f79fcf7cee7dbdfa4b8978aa80d791288e5975ed6ca723d8b4985ea744c3b022138075065058a9a679346910ae054e23f6ee922b779e8f6e7b88baf0a496fa
-  languageName: node
-  linkType: hard
-
 "@webassemblyjs/ast@npm:1.11.1":
   version: 1.11.1
   resolution: "@webassemblyjs/ast@npm:1.11.1"
@@ -4919,14 +3859,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"abab@npm:^2.0.6":
-  version: 2.0.6
-  resolution: "abab@npm:2.0.6"
-  checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e
-  languageName: node
-  linkType: hard
-
-"abbrev@npm:1, abbrev@npm:^1.0.0":
+"abbrev@npm:^1.0.0":
   version: 1.1.1
   resolution: "abbrev@npm:1.1.1"
   checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17
@@ -4943,16 +3876,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"acorn-globals@npm:^7.0.0":
-  version: 7.0.1
-  resolution: "acorn-globals@npm:7.0.1"
-  dependencies:
-    acorn: ^8.1.0
-    acorn-walk: ^8.0.2
-  checksum: 2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8
-  languageName: node
-  linkType: hard
-
 "acorn-import-assertions@npm:^1.7.6":
   version: 1.8.0
   resolution: "acorn-import-assertions@npm:1.8.0"
@@ -4971,14 +3894,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1":
+"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1":
   version: 8.2.0
   resolution: "acorn-walk@npm:8.2.0"
   checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1
   languageName: node
   linkType: hard
 
-"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0":
+"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0":
   version: 8.8.0
   resolution: "acorn@npm:8.8.0"
   bin:
@@ -5174,13 +4097,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"any-promise@npm:^1.0.0":
-  version: 1.3.0
-  resolution: "any-promise@npm:1.3.0"
-  checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de
-  languageName: node
-  linkType: hard
-
 "anymatch@npm:~3.1.2":
   version: 3.1.2
   resolution: "anymatch@npm:3.1.2"
@@ -5198,16 +4114,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"are-we-there-yet@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "are-we-there-yet@npm:2.0.0"
-  dependencies:
-    delegates: ^1.0.0
-    readable-stream: ^3.6.0
-  checksum: 6c80b4fd04ecee6ba6e737e0b72a4b41bdc64b7d279edfc998678567ff583c8df27e27523bc789f2c99be603ffa9eaa612803da1d886962d2086e7ff6fa90c7c
-  languageName: node
-  linkType: hard
-
 "are-we-there-yet@npm:^3.0.0":
   version: 3.0.1
   resolution: "are-we-there-yet@npm:3.0.1"
@@ -5351,23 +4257,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"assert@npm:^1.4.1":
-  version: 1.5.0
-  resolution: "assert@npm:1.5.0"
-  dependencies:
-    object-assign: ^4.1.1
-    util: 0.10.3
-  checksum: 9be48435f726029ae7020c5888a3566bf4d617687aab280827f2e4029644b6515a9519ea10d018b342147c02faf73d9e9419e780e8937b3786ee4945a0ca71e5
-  languageName: node
-  linkType: hard
-
-"assertion-error@npm:^1.1.0":
-  version: 1.1.0
-  resolution: "assertion-error@npm:1.1.0"
-  checksum: fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf
-  languageName: node
-  linkType: hard
-
 "ast-types-flow@npm:^0.0.7":
   version: 0.0.7
   resolution: "ast-types-flow@npm:0.0.7"
@@ -5391,13 +4280,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"asynckit@npm:^0.4.0":
-  version: 0.4.0
-  resolution: "asynckit@npm:0.4.0"
-  checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be
-  languageName: node
-  linkType: hard
-
 "at-least-node@npm:^1.0.0":
   version: 1.0.0
   resolution: "at-least-node@npm:1.0.0"
@@ -5405,6 +4287,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"atob@npm:^2.1.2":
+  version: 2.1.2
+  resolution: "atob@npm:2.1.2"
+  bin:
+    atob: bin/atob.js
+  checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a
+  languageName: node
+  linkType: hard
+
 "autoprefixer@npm:^10.3.7, autoprefixer@npm:^10.4.7":
   version: 10.4.12
   resolution: "autoprefixer@npm:10.4.12"
@@ -5423,31 +4314,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"available-typed-arrays@npm:^1.0.5":
-  version: 1.0.5
-  resolution: "available-typed-arrays@npm:1.0.5"
-  checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a
-  languageName: node
-  linkType: hard
-
-"aws-sdk@npm:^2.673.0":
-  version: 2.1238.0
-  resolution: "aws-sdk@npm:2.1238.0"
-  dependencies:
-    buffer: 4.9.2
-    events: 1.1.1
-    ieee754: 1.1.13
-    jmespath: 0.16.0
-    querystring: 0.2.0
-    sax: 1.2.1
-    url: 0.10.3
-    util: ^0.12.4
-    uuid: 8.0.0
-    xml2js: 0.4.19
-  checksum: 428750039b886c4bf7fdf0aa5a8848f630ee43c985d6128cbb68c0366fc24171aaed3de2c7fbed6d211c9b9fafa01725a03781683b4bc8ce451aab01725aae80
-  languageName: node
-  linkType: hard
-
 "axe-core@npm:^4.4.3":
   version: 4.4.3
   resolution: "axe-core@npm:4.4.3"
@@ -5573,7 +4439,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1":
+"base64-js@npm:^1.3.1":
   version: 1.5.1
   resolution: "base64-js@npm:1.5.1"
   checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005
@@ -5732,17 +4598,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"buffer@npm:4.9.2":
-  version: 4.9.2
-  resolution: "buffer@npm:4.9.2"
-  dependencies:
-    base64-js: ^1.0.2
-    ieee754: ^1.1.4
-    isarray: ^1.0.0
-  checksum: 8801bc1ba08539f3be70eee307a8b9db3d40f6afbfd3cf623ab7ef41dffff1d0a31de0addbe1e66e0ca5f7193eeb667bfb1ecad3647f8f1b0750de07c13295c3
-  languageName: node
-  linkType: hard
-
 "buffer@npm:^5.5.0":
   version: 5.7.1
   resolution: "buffer@npm:5.7.1"
@@ -5760,42 +4615,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"builtins@npm:^5.0.0":
-  version: 5.0.1
-  resolution: "builtins@npm:5.0.1"
-  dependencies:
-    semver: ^7.0.0
-  checksum: 66d204657fe36522822a95b288943ad11b58f5eaede235b11d8c4edaa28ce4800087d44a2681524c340494aadb120a0068011acabe99d30e8f11a7d826d83515
-  languageName: node
-  linkType: hard
-
-"bullmq@npm:^2.3.1":
-  version: 2.3.2
-  resolution: "bullmq@npm:2.3.2"
-  dependencies:
-    cron-parser: ^4.6.0
-    glob: ^8.0.3
-    ioredis: ^5.2.2
-    lodash: ^4.17.21
-    msgpackr: ^1.6.2
-    semver: ^7.3.7
-    tslib: ^2.0.0
-    uuid: ^9.0.0
-  checksum: 2a5560a4624e72cad60620de5441eb3549498ad18595c3d9950c3245827462c14ef4d537a6cc900c0ed102c27f8bbe7d8a9e51a9ef8c739e813756e7c9ba9d9d
-  languageName: node
-  linkType: hard
-
-"bundle-require@npm:^3.1.0":
-  version: 3.1.0
-  resolution: "bundle-require@npm:3.1.0"
-  dependencies:
-    load-tsconfig: ^0.2.0
-  peerDependencies:
-    esbuild: ">=0.13"
-  checksum: e433dd18ad2ccaf9d210040c5ce300a8c60f4caf0472856fd5162ec407f7b5b3e0559e540aa92b7381a18a6ff2b45bbe9270dc2fd7ace17e445e72a9cbc7fa95
-  languageName: node
-  linkType: hard
-
 "bytes@npm:3.0.0":
   version: 3.0.0
   resolution: "bytes@npm:3.0.0"
@@ -5810,35 +4629,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"c8@npm:^7.12.0":
-  version: 7.12.0
-  resolution: "c8@npm:7.12.0"
-  dependencies:
-    "@bcoe/v8-coverage": ^0.2.3
-    "@istanbuljs/schema": ^0.1.3
-    find-up: ^5.0.0
-    foreground-child: ^2.0.0
-    istanbul-lib-coverage: ^3.2.0
-    istanbul-lib-report: ^3.0.0
-    istanbul-reports: ^3.1.4
-    rimraf: ^3.0.2
-    test-exclude: ^6.0.0
-    v8-to-istanbul: ^9.0.0
-    yargs: ^16.2.0
-    yargs-parser: ^20.2.9
-  bin:
-    c8: bin/c8.js
-  checksum: 3b7fa9ad7cff2cb0bb579467e6b544498fbd46e9353a809ad3b8cf749df4beadd074cde277356b0552f3c8055b1b3ec3ebaf2209e9ad4bdefed92dbf64d283ab
-  languageName: node
-  linkType: hard
-
-"cac@npm:^6.7.12":
-  version: 6.7.14
-  resolution: "cac@npm:6.7.14"
-  checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a
-  languageName: node
-  linkType: hard
-
 "cacache@npm:^16.1.0":
   version: 16.1.3
   resolution: "cacache@npm:16.1.3"
@@ -5972,21 +4762,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"chai@npm:^4.3.6":
-  version: 4.3.6
-  resolution: "chai@npm:4.3.6"
-  dependencies:
-    assertion-error: ^1.1.0
-    check-error: ^1.0.2
-    deep-eql: ^3.0.1
-    get-func-name: ^2.0.0
-    loupe: ^2.3.1
-    pathval: ^1.1.1
-    type-detect: ^4.0.5
-  checksum: acff93fd537f96d4a4d62dd83810285dffcfccb5089e1bf2a1205b28ec82d93dff551368722893cf85004282df10ee68802737c33c90c5493957ed449ed7ce71
-  languageName: node
-  linkType: hard
-
 "chalk@npm:^2.0.0, chalk@npm:^2.4.1":
   version: 2.4.2
   resolution: "chalk@npm:2.4.2"
@@ -6046,13 +4821,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"check-error@npm:^1.0.2":
-  version: 1.0.2
-  resolution: "check-error@npm:1.0.2"
-  checksum: d9d106504404b8addd1ee3f63f8c0eaa7cd962a1a28eb9c519b1c4a1dc7098be38007fc0060f045ee00f075fbb7a2a4f42abcf61d68323677e11ab98dc16042e
-  languageName: node
-  linkType: hard
-
 "cheerio-select@npm:^2.1.0":
   version: 2.1.0
   resolution: "cheerio-select@npm:2.1.0"
@@ -6082,7 +4850,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"chokidar@npm:^3.4.2, chokidar@npm:^3.5.1, chokidar@npm:^3.5.3":
+"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3":
   version: 3.5.3
   resolution: "chokidar@npm:3.5.3"
   dependencies:
@@ -6215,17 +4983,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"cliui@npm:^7.0.2":
-  version: 7.0.4
-  resolution: "cliui@npm:7.0.4"
-  dependencies:
-    string-width: ^4.2.0
-    strip-ansi: ^6.0.0
-    wrap-ansi: ^7.0.0
-  checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f
-  languageName: node
-  linkType: hard
-
 "cliui@npm:^8.0.1":
   version: 8.0.1
   resolution: "cliui@npm:8.0.1"
@@ -6271,13 +5028,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"cluster-key-slot@npm:^1.1.0":
-  version: 1.1.1
-  resolution: "cluster-key-slot@npm:1.1.1"
-  checksum: 2fb7390e7950075acb09fc8aad3dc939abb64b139ba1b5f6341efdd0beda8cdc8b508e5f30d943370cf30ea0c13741c579e0846efd007b328bdc1a5a712264da
-  languageName: node
-  linkType: hard
-
 "collapse-white-space@npm:^1.0.2":
   version: 1.0.6
   resolution: "collapse-white-space@npm:1.0.6"
@@ -6317,7 +5067,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"color-support@npm:^1.1.2, color-support@npm:^1.1.3":
+"color-support@npm:^1.1.3":
   version: 1.1.3
   resolution: "color-support@npm:1.1.3"
   bin:
@@ -6347,15 +5097,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"combined-stream@npm:^1.0.8":
-  version: 1.0.8
-  resolution: "combined-stream@npm:1.0.8"
-  dependencies:
-    delayed-stream: ~1.0.0
-  checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c
-  languageName: node
-  linkType: hard
-
 "comma-separated-tokens@npm:^1.0.0":
   version: 1.0.8
   resolution: "comma-separated-tokens@npm:1.0.8"
@@ -6370,13 +5111,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"commander@npm:^4.0.0":
-  version: 4.1.1
-  resolution: "commander@npm:4.1.1"
-  checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977
-  languageName: node
-  linkType: hard
-
 "commander@npm:^5.1.0":
   version: 5.1.0
   resolution: "commander@npm:5.1.0"
@@ -6398,7 +5132,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"commander@npm:^9.3.0, commander@npm:^9.4.0, commander@npm:^9.4.1":
+"commander@npm:^9.3.0, commander@npm:^9.4.1":
   version: 9.4.1
   resolution: "commander@npm:9.4.1"
   checksum: bfb18e325a5bdf772763c2213d5c7d9e77144d944124e988bcd8e5e65fb6d45d5d4e86b09155d0f2556c9a59c31e428720e57968bcd050b2306e910a0bf3cf13
@@ -6431,7 +5165,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"common-tags@npm:^1.8.0":
+"common-tags@npm:^1.8.0, common-tags@npm:^1.8.2":
   version: 1.8.2
   resolution: "common-tags@npm:1.8.2"
   checksum: 767a6255a84bbc47df49a60ab583053bb29a7d9687066a18500a516188a062c4e4cd52de341f22de0b07062e699b1b8fe3cfa1cb55b241cb9301aeb4f45b4dff
@@ -6486,18 +5220,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"concat-stream@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "concat-stream@npm:2.0.0"
-  dependencies:
-    buffer-from: ^1.0.0
-    inherits: ^2.0.3
-    readable-stream: ^3.0.2
-    typedarray: ^0.0.6
-  checksum: d7f75d48f0ecd356c1545d87e22f57b488172811b1181d96021c7c4b14ab8855f5313280263dca44bb06e5222f274d047da3e290a38841ef87b59719bde967c7
-  languageName: node
-  linkType: hard
-
 "configstore@npm:^5.0.1":
   version: 5.0.1
   resolution: "configstore@npm:5.0.1"
@@ -6526,7 +5248,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0":
+"console-control-strings@npm:^1.1.0":
   version: 1.1.0
   resolution: "console-control-strings@npm:1.1.0"
   checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed
@@ -6556,7 +5278,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"conventional-changelog-angular@npm:^5.0.11, conventional-changelog-angular@npm:^5.0.13":
+"conventional-changelog-angular@npm:^5.0.11":
   version: 5.0.13
   resolution: "conventional-changelog-angular@npm:5.0.13"
   dependencies:
@@ -6577,13 +5299,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"conventional-changelog-preset-loader@npm:^2.3.4":
-  version: 2.3.4
-  resolution: "conventional-changelog-preset-loader@npm:2.3.4"
-  checksum: 23a889b7fcf6fe7653e61f32a048877b2f954dcc1e0daa2848c5422eb908e6f24c78372f8d0d2130b5ed941c02e7010c599dccf44b8552602c6c8db9cb227453
-  languageName: node
-  linkType: hard
-
 "conventional-commit-types@npm:^3.0.0":
   version: 3.0.0
   resolution: "conventional-commit-types@npm:3.0.0"
@@ -6591,17 +5306,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"conventional-commits-filter@npm:^2.0.7":
-  version: 2.0.7
-  resolution: "conventional-commits-filter@npm:2.0.7"
-  dependencies:
-    lodash.ismatch: ^4.4.0
-    modify-values: ^1.0.0
-  checksum: feb567f680a6da1baaa1ef3cff393b3c56a5828f77ab9df5e70626475425d109a6fee0289b4979223c62bbd63bf9c98ef532baa6fcb1b66ee8b5f49077f5d46c
-  languageName: node
-  linkType: hard
-
-"conventional-commits-parser@npm:^3.2.0, conventional-commits-parser@npm:^3.2.2":
+"conventional-commits-parser@npm:^3.2.2":
   version: 3.2.4
   resolution: "conventional-commits-parser@npm:3.2.4"
   dependencies:
@@ -6617,25 +5322,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"conventional-recommended-bump@npm:^6.1.0":
-  version: 6.1.0
-  resolution: "conventional-recommended-bump@npm:6.1.0"
-  dependencies:
-    concat-stream: ^2.0.0
-    conventional-changelog-preset-loader: ^2.3.4
-    conventional-commits-filter: ^2.0.7
-    conventional-commits-parser: ^3.2.0
-    git-raw-commits: ^2.0.8
-    git-semver-tags: ^4.1.1
-    meow: ^8.0.0
-    q: ^1.5.1
-  bin:
-    conventional-recommended-bump: cli.js
-  checksum: da1d7a5f3b9f7706bede685cdcb3db67997fdaa43c310fd5bf340955c84a4b85dbb9427031522ee06dad290b730a54be987b08629d79c73720dbad3a2531146b
-  languageName: node
-  linkType: hard
-
-"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0":
+"convert-source-map@npm:^1.7.0":
   version: 1.9.0
   resolution: "convert-source-map@npm:1.9.0"
   checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8
@@ -6754,15 +5441,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"cron-parser@npm:^4.6.0":
-  version: 4.6.0
-  resolution: "cron-parser@npm:4.6.0"
-  dependencies:
-    luxon: ^3.0.1
-  checksum: cef63dee396732a8247c2c55d99512db7ad39797459f4bfd534ce5c18efdbf88b16ae8265c3b2abc40cdfadf8930bb1be6778e6ae664ae70e4ed7f206487d0cd
-  languageName: node
-  linkType: hard
-
 "cross-fetch@npm:^3.1.5":
   version: 3.1.5
   resolution: "cross-fetch@npm:3.1.5"
@@ -6889,6 +5567,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"css@npm:^3.0.0":
+  version: 3.0.0
+  resolution: "css@npm:3.0.0"
+  dependencies:
+    inherits: ^2.0.4
+    source-map: ^0.6.1
+    source-map-resolve: ^0.6.0
+  checksum: 4273ac816ddf99b99acb9c1d1a27d86d266a533cc01118369d941d8e8a78277a83cad3315e267a398c509d930fbb86504e193ea1ebc620a4a4212e06fe76e8be
+  languageName: node
+  linkType: hard
+
 "cssesc@npm:^3.0.0":
   version: 3.0.0
   resolution: "cssesc@npm:3.0.0"
@@ -6984,29 +5673,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"cssom@npm:^0.5.0":
-  version: 0.5.0
-  resolution: "cssom@npm:0.5.0"
-  checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01
-  languageName: node
-  linkType: hard
-
-"cssom@npm:~0.3.6":
-  version: 0.3.8
-  resolution: "cssom@npm:0.3.8"
-  checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6
-  languageName: node
-  linkType: hard
-
-"cssstyle@npm:^2.3.0":
-  version: 2.3.0
-  resolution: "cssstyle@npm:2.3.0"
-  dependencies:
-    cssom: ~0.3.6
-  checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3
-  languageName: node
-  linkType: hard
-
 "csstype@npm:^3.0.2":
   version: 3.1.1
   resolution: "csstype@npm:3.1.1"
@@ -7046,17 +5712,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"data-urls@npm:^3.0.2":
-  version: 3.0.2
-  resolution: "data-urls@npm:3.0.2"
-  dependencies:
-    abab: ^2.0.6
-    whatwg-mimetype: ^3.0.0
-    whatwg-url: ^11.0.0
-  checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76
-  languageName: node
-  linkType: hard
-
 "debug@npm:2.6.9, debug@npm:^2.6.0, debug@npm:^2.6.9":
   version: 2.6.9
   resolution: "debug@npm:2.6.9"
@@ -7066,7 +5721,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4":
+"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4":
   version: 4.3.4
   resolution: "debug@npm:4.3.4"
   dependencies:
@@ -7104,10 +5759,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"decimal.js@npm:^10.4.1":
-  version: 10.4.2
-  resolution: "decimal.js@npm:10.4.2"
-  checksum: 536cd6816a3197f2e1aa3da4860856cb5a2db73f6fafe8cb3b924ccc63f9b7d78296acc13dccbd419bd958ccc6357921fb15467f883b37cab04bfba7044cada2
+"decode-uri-component@npm:^0.2.0":
+  version: 0.2.0
+  resolution: "decode-uri-component@npm:0.2.0"
+  checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94
   languageName: node
   linkType: hard
 
@@ -7127,15 +5782,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deep-eql@npm:^3.0.1":
-  version: 3.0.1
-  resolution: "deep-eql@npm:3.0.1"
-  dependencies:
-    type-detect: ^4.0.0
-  checksum: 4f4c9fb79eb994fb6e81d4aa8b063adc40c00f831588aa65e20857d5d52f15fb23034a6576ecf886f7ff6222d5ae42e71e9b7d57113e0715b1df7ea1e812b125
-  languageName: node
-  linkType: hard
-
 "deep-extend@npm:^0.6.0":
   version: 0.6.0
   resolution: "deep-extend@npm:0.6.0"
@@ -7143,7 +5789,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3":
+"deep-is@npm:^0.1.3":
   version: 0.1.4
   resolution: "deep-is@npm:0.1.4"
   checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804
@@ -7215,24 +5861,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"delayed-stream@npm:~1.0.0":
-  version: 1.0.0
-  resolution: "delayed-stream@npm:1.0.0"
-  checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020
-  languageName: node
-  linkType: hard
-
 "delegates@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "delegates@npm:1.0.0"
-  checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd
-  languageName: node
-  linkType: hard
-
-"denque@npm:^2.0.1":
-  version: 2.1.0
-  resolution: "denque@npm:2.1.0"
-  checksum: 1d4ae1d05e59ac3a3481e7b478293f4b4c813819342273f3d5b826c7ffa9753c520919ba264f377e09108d24ec6cf0ec0ac729a5686cbb8f32d797126c5dae74
+  version: 1.0.0
+  resolution: "delegates@npm:1.0.0"
+  checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd
   languageName: node
   linkType: hard
 
@@ -7280,13 +5912,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"detect-libc@npm:^2.0.0":
-  version: 2.0.1
-  resolution: "detect-libc@npm:2.0.1"
-  checksum: ccb05fcabbb555beb544d48080179c18523a343face9ee4e1a86605a8715b4169f94d663c21a03c310ac824592f2ba9a5270218819bb411ad7be578a527593d7
-  languageName: node
-  linkType: hard
-
 "detect-node@npm:^2.0.4":
   version: 2.1.0
   resolution: "detect-node@npm:2.1.0"
@@ -7336,30 +5961,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"discord-api-types@npm:^0.36.3":
-  version: 0.36.3
-  resolution: "discord-api-types@npm:0.36.3"
-  checksum: 3089c0fb37425dc5df03c76d82988d43fcc272699b06a02fc830d0a3bef550009aaebdf6d646529e8a7ccea76ae3f43b099d736ea5ef37a0be143142ab49871d
-  languageName: node
-  linkType: hard
-
-"discord.js@npm:^13.12.0":
-  version: 13.12.0
-  resolution: "discord.js@npm:13.12.0"
-  dependencies:
-    "@discordjs/builders": ^0.16.0
-    "@discordjs/collection": ^0.7.0
-    "@sapphire/async-queue": ^1.5.0
-    "@types/node-fetch": ^2.6.2
-    "@types/ws": ^8.5.3
-    discord-api-types: ^0.33.5
-    form-data: ^4.0.0
-    node-fetch: ^2.6.7
-    ws: ^8.9.0
-  checksum: e7121efac94cf8dba04999f1050cc369e03651afe7c2d440edab415cfac5b6072cca908e7c1310f0027805deaa955922c4bc0d531ff48d84202c643a0bd5141e
-  languageName: node
-  linkType: hard
-
 "dns-equal@npm:^1.0.0":
   version: 1.0.0
   resolution: "dns-equal@npm:1.0.0"
@@ -7394,15 +5995,37 @@ __metadata:
   languageName: node
   linkType: hard
 
-"docusaurus-plugin-typedoc@npm:^0.17.5":
-  version: 0.17.5
-  resolution: "docusaurus-plugin-typedoc@npm:0.17.5"
-  peerDependencies:
-    typedoc: ">=0.22.0"
-    typedoc-plugin-markdown: ">=3.11.10"
-  checksum: 62af962dad33a413fe3b049b8a5642a3533f35d1cc6163e5db1a06d476b8eab77c4be9bea86c5ae9e30a0310039bb8730c18f1a87fcc8a4ef0c13ceba2ed8dd8
-  languageName: node
-  linkType: hard
+"docusaurus-discordjs-docgen@workspace:docusaurus-discordjs-docgen":
+  version: 0.0.0-use.local
+  resolution: "docusaurus-discordjs-docgen@workspace:docusaurus-discordjs-docgen"
+  dependencies:
+    "@docusaurus/types": 2.1.0
+    "@sapphire/docusaurus-plugin-ts2esm2cjs": ^1.1.3
+    "@sapphire/result": ^2.6.0
+    "@sapphire/utilities": ^3.11.0
+    "@types/common-tags": ^1.8.1
+    common-tags: ^1.8.2
+    css: ^3.0.0
+  languageName: unknown
+  linkType: soft
+
+"docusaurus-typedoc-json-parser@workspace:docusaurus-typedoc-json-parser":
+  version: 0.0.0-use.local
+  resolution: "docusaurus-typedoc-json-parser@workspace:docusaurus-typedoc-json-parser"
+  dependencies:
+    "@docusaurus/types": ^2.1.0
+    "@sapphire/docusaurus-plugin-ts2esm2cjs": ^1.1.3
+    "@sapphire/fetch": ^2.4.1
+    "@sapphire/result": ^2.6.0
+    "@sapphire/utilities": ^3.11.0
+    "@types/common-tags": ^1.8.1
+    common-tags: ^1.8.2
+    css: ^3.0.0
+    dotenv: ^16.0.3
+    typedoc-json-parser: ^6.0.2
+    typescript: ^4.8.4
+  languageName: unknown
+  linkType: soft
 
 "dom-converter@npm:^0.2.0":
   version: 0.2.0
@@ -7442,15 +6065,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"domexception@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "domexception@npm:4.0.0"
-  dependencies:
-    webidl-conversions: ^7.0.0
-  checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5
-  languageName: node
-  linkType: hard
-
 "domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1":
   version: 4.3.1
   resolution: "domhandler@npm:4.3.1"
@@ -7510,6 +6124,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"dotenv@npm:^16.0.3":
+  version: 16.0.3
+  resolution: "dotenv@npm:16.0.3"
+  checksum: afcf03f373d7a6d62c7e9afea6328e62851d627a4e73f2e12d0a8deae1cd375892004f3021883f8aec85932cd2834b091f568ced92b4774625b321db83b827f8
+  languageName: node
+  linkType: hard
+
 "duplexer3@npm:^0.1.4":
   version: 0.1.5
   resolution: "duplexer3@npm:0.1.5"
@@ -7663,7 +6284,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.0":
+"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5":
   version: 1.20.4
   resolution: "es-abstract@npm:1.20.4"
   dependencies:
@@ -7722,462 +6343,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"esbuild-android-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-android-64@npm:0.14.54"
-  conditions: os=android & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-android-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-android-64@npm:0.15.12"
-  conditions: os=android & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-android-arm64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-android-arm64@npm:0.14.54"
-  conditions: os=android & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-android-arm64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-android-arm64@npm:0.15.12"
-  conditions: os=android & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-darwin-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-darwin-64@npm:0.14.54"
-  conditions: os=darwin & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-darwin-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-darwin-64@npm:0.15.12"
-  conditions: os=darwin & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-darwin-arm64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-darwin-arm64@npm:0.14.54"
-  conditions: os=darwin & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-darwin-arm64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-darwin-arm64@npm:0.15.12"
-  conditions: os=darwin & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-freebsd-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-freebsd-64@npm:0.14.54"
-  conditions: os=freebsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-freebsd-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-freebsd-64@npm:0.15.12"
-  conditions: os=freebsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-freebsd-arm64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-freebsd-arm64@npm:0.14.54"
-  conditions: os=freebsd & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-freebsd-arm64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-freebsd-arm64@npm:0.15.12"
-  conditions: os=freebsd & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-32@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-32@npm:0.14.54"
-  conditions: os=linux & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-32@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-32@npm:0.15.12"
-  conditions: os=linux & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-64@npm:0.14.54"
-  conditions: os=linux & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-64@npm:0.15.12"
-  conditions: os=linux & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-arm64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-arm64@npm:0.14.54"
-  conditions: os=linux & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-arm64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-arm64@npm:0.15.12"
-  conditions: os=linux & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-arm@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-arm@npm:0.14.54"
-  conditions: os=linux & cpu=arm
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-arm@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-arm@npm:0.15.12"
-  conditions: os=linux & cpu=arm
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-mips64le@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-mips64le@npm:0.14.54"
-  conditions: os=linux & cpu=mips64el
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-mips64le@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-mips64le@npm:0.15.12"
-  conditions: os=linux & cpu=mips64el
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-ppc64le@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-ppc64le@npm:0.14.54"
-  conditions: os=linux & cpu=ppc64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-ppc64le@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-ppc64le@npm:0.15.12"
-  conditions: os=linux & cpu=ppc64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-riscv64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-riscv64@npm:0.14.54"
-  conditions: os=linux & cpu=riscv64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-riscv64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-riscv64@npm:0.15.12"
-  conditions: os=linux & cpu=riscv64
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-s390x@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-linux-s390x@npm:0.14.54"
-  conditions: os=linux & cpu=s390x
-  languageName: node
-  linkType: hard
-
-"esbuild-linux-s390x@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-linux-s390x@npm:0.15.12"
-  conditions: os=linux & cpu=s390x
-  languageName: node
-  linkType: hard
-
-"esbuild-netbsd-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-netbsd-64@npm:0.14.54"
-  conditions: os=netbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-netbsd-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-netbsd-64@npm:0.15.12"
-  conditions: os=netbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-openbsd-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-openbsd-64@npm:0.14.54"
-  conditions: os=openbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-openbsd-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-openbsd-64@npm:0.15.12"
-  conditions: os=openbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-plugin-file-path-extensions@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "esbuild-plugin-file-path-extensions@npm:1.0.0"
-  checksum: 4e844b7822cf444c5e50bef81d59df0b04c4f1377970698679e0b562d5b3b7a3e415108511bbba37c0c394220faea31ec90c1c9fea048b45f218655507236ca7
-  languageName: node
-  linkType: hard
-
-"esbuild-plugin-version-injector@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "esbuild-plugin-version-injector@npm:1.0.0"
-  dependencies:
-    "@sapphire/result": ^2.5.0
-  checksum: 2a6eb3f2b3d3d24c6ca8af28925ad8e6f6d0a75f41cdb089bd76c7a74fbd6948d8f64563aa58bd65751054a28be0cfc081a0f56102a1952a5ba4ac541c2ff336
-  languageName: node
-  linkType: hard
-
-"esbuild-plugins-node-modules-polyfill@npm:^1.0.6":
-  version: 1.0.6
-  resolution: "esbuild-plugins-node-modules-polyfill@npm:1.0.6"
-  dependencies:
-    modern-node-polyfills: ^0.0.9
-  checksum: f10e58b19a0b6c0ba7a11eddd84685b539d31b9be7cbb934acef64501d9beb3271fc3fc1e9ea9bc017d478f591f126731e9d989ed1dfe6c6146fcf1d3f4c4e7d
-  languageName: node
-  linkType: hard
-
-"esbuild-sunos-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-sunos-64@npm:0.14.54"
-  conditions: os=sunos & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-sunos-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-sunos-64@npm:0.15.12"
-  conditions: os=sunos & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-32@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-windows-32@npm:0.14.54"
-  conditions: os=win32 & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-32@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-windows-32@npm:0.15.12"
-  conditions: os=win32 & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-windows-64@npm:0.14.54"
-  conditions: os=win32 & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-windows-64@npm:0.15.12"
-  conditions: os=win32 & cpu=x64
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-arm64@npm:0.14.54":
-  version: 0.14.54
-  resolution: "esbuild-windows-arm64@npm:0.14.54"
-  conditions: os=win32 & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild-windows-arm64@npm:0.15.12":
-  version: 0.15.12
-  resolution: "esbuild-windows-arm64@npm:0.15.12"
-  conditions: os=win32 & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"esbuild@npm:^0.14.47":
-  version: 0.14.54
-  resolution: "esbuild@npm:0.14.54"
-  dependencies:
-    "@esbuild/linux-loong64": 0.14.54
-    esbuild-android-64: 0.14.54
-    esbuild-android-arm64: 0.14.54
-    esbuild-darwin-64: 0.14.54
-    esbuild-darwin-arm64: 0.14.54
-    esbuild-freebsd-64: 0.14.54
-    esbuild-freebsd-arm64: 0.14.54
-    esbuild-linux-32: 0.14.54
-    esbuild-linux-64: 0.14.54
-    esbuild-linux-arm: 0.14.54
-    esbuild-linux-arm64: 0.14.54
-    esbuild-linux-mips64le: 0.14.54
-    esbuild-linux-ppc64le: 0.14.54
-    esbuild-linux-riscv64: 0.14.54
-    esbuild-linux-s390x: 0.14.54
-    esbuild-netbsd-64: 0.14.54
-    esbuild-openbsd-64: 0.14.54
-    esbuild-sunos-64: 0.14.54
-    esbuild-windows-32: 0.14.54
-    esbuild-windows-64: 0.14.54
-    esbuild-windows-arm64: 0.14.54
-  dependenciesMeta:
-    "@esbuild/linux-loong64":
-      optional: true
-    esbuild-android-64:
-      optional: true
-    esbuild-android-arm64:
-      optional: true
-    esbuild-darwin-64:
-      optional: true
-    esbuild-darwin-arm64:
-      optional: true
-    esbuild-freebsd-64:
-      optional: true
-    esbuild-freebsd-arm64:
-      optional: true
-    esbuild-linux-32:
-      optional: true
-    esbuild-linux-64:
-      optional: true
-    esbuild-linux-arm:
-      optional: true
-    esbuild-linux-arm64:
-      optional: true
-    esbuild-linux-mips64le:
-      optional: true
-    esbuild-linux-ppc64le:
-      optional: true
-    esbuild-linux-riscv64:
-      optional: true
-    esbuild-linux-s390x:
-      optional: true
-    esbuild-netbsd-64:
-      optional: true
-    esbuild-openbsd-64:
-      optional: true
-    esbuild-sunos-64:
-      optional: true
-    esbuild-windows-32:
-      optional: true
-    esbuild-windows-64:
-      optional: true
-    esbuild-windows-arm64:
-      optional: true
-  bin:
-    esbuild: bin/esbuild
-  checksum: 49e360b1185c797f5ca3a7f5f0a75121494d97ddf691f65ed1796e6257d318f928342a97f559bb8eced6a90cf604dd22db4a30e0dbbf15edd9dbf22459b639af
-  languageName: node
-  linkType: hard
-
-"esbuild@npm:^0.15.1, esbuild@npm:^0.15.9":
-  version: 0.15.12
-  resolution: "esbuild@npm:0.15.12"
-  dependencies:
-    "@esbuild/android-arm": 0.15.12
-    "@esbuild/linux-loong64": 0.15.12
-    esbuild-android-64: 0.15.12
-    esbuild-android-arm64: 0.15.12
-    esbuild-darwin-64: 0.15.12
-    esbuild-darwin-arm64: 0.15.12
-    esbuild-freebsd-64: 0.15.12
-    esbuild-freebsd-arm64: 0.15.12
-    esbuild-linux-32: 0.15.12
-    esbuild-linux-64: 0.15.12
-    esbuild-linux-arm: 0.15.12
-    esbuild-linux-arm64: 0.15.12
-    esbuild-linux-mips64le: 0.15.12
-    esbuild-linux-ppc64le: 0.15.12
-    esbuild-linux-riscv64: 0.15.12
-    esbuild-linux-s390x: 0.15.12
-    esbuild-netbsd-64: 0.15.12
-    esbuild-openbsd-64: 0.15.12
-    esbuild-sunos-64: 0.15.12
-    esbuild-windows-32: 0.15.12
-    esbuild-windows-64: 0.15.12
-    esbuild-windows-arm64: 0.15.12
-  dependenciesMeta:
-    "@esbuild/android-arm":
-      optional: true
-    "@esbuild/linux-loong64":
-      optional: true
-    esbuild-android-64:
-      optional: true
-    esbuild-android-arm64:
-      optional: true
-    esbuild-darwin-64:
-      optional: true
-    esbuild-darwin-arm64:
-      optional: true
-    esbuild-freebsd-64:
-      optional: true
-    esbuild-freebsd-arm64:
-      optional: true
-    esbuild-linux-32:
-      optional: true
-    esbuild-linux-64:
-      optional: true
-    esbuild-linux-arm:
-      optional: true
-    esbuild-linux-arm64:
-      optional: true
-    esbuild-linux-mips64le:
-      optional: true
-    esbuild-linux-ppc64le:
-      optional: true
-    esbuild-linux-riscv64:
-      optional: true
-    esbuild-linux-s390x:
-      optional: true
-    esbuild-netbsd-64:
-      optional: true
-    esbuild-openbsd-64:
-      optional: true
-    esbuild-sunos-64:
-      optional: true
-    esbuild-windows-32:
-      optional: true
-    esbuild-windows-64:
-      optional: true
-    esbuild-windows-arm64:
-      optional: true
-  bin:
-    esbuild: bin/esbuild
-  checksum: b344d52c57616917719ac2fa38a58eba7d3c9d2a295116272b3e16a4f6327dc42549274c06560d301f9235a6fe31ccb45499b31d04820dfb8527d89d9766a2ad
-  languageName: node
-  linkType: hard
-
 "escalade@npm:^3.1.1":
   version: 3.1.1
   resolution: "escalade@npm:3.1.1"
@@ -8213,25 +6378,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"escodegen@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "escodegen@npm:2.0.0"
-  dependencies:
-    esprima: ^4.0.1
-    estraverse: ^5.2.0
-    esutils: ^2.0.2
-    optionator: ^0.8.1
-    source-map: ~0.6.1
-  dependenciesMeta:
-    source-map:
-      optional: true
-  bin:
-    escodegen: bin/escodegen.js
-    esgenerate: bin/esgenerate.js
-  checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef
-  languageName: node
-  linkType: hard
-
 "eslint-config-prettier@npm:^8.5.0":
   version: 8.5.0
   resolution: "eslint-config-prettier@npm:8.5.0"
@@ -8404,7 +6550,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"eslint@npm:^8.22.0, eslint@npm:^8.25.0, eslint@npm:^8.26.0":
+"eslint@npm:^8.22.0, eslint@npm:^8.26.0":
   version: 8.26.0
   resolution: "eslint@npm:8.26.0"
   dependencies:
@@ -8471,7 +6617,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"esprima@npm:^4.0.0, esprima@npm:^4.0.1":
+"esprima@npm:^4.0.0":
   version: 4.0.1
   resolution: "esprima@npm:4.0.1"
   bin:
@@ -8520,13 +6666,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"estree-walker@npm:^2.0.1":
-  version: 2.0.2
-  resolution: "estree-walker@npm:2.0.2"
-  checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc
-  languageName: node
-  linkType: hard
-
 "esutils@npm:^2.0.2":
   version: 2.0.3
   resolution: "esutils@npm:2.0.3"
@@ -8565,13 +6704,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"events@npm:1.1.1":
-  version: 1.1.1
-  resolution: "events@npm:1.1.1"
-  checksum: 40431eb005cc4c57861b93d44c2981a49e7feb99df84cf551baed299ceea4444edf7744733f6a6667e942af687359b1f4a87ec1ec4f21d5127dac48a782039b9
-  languageName: node
-  linkType: hard
-
 "events@npm:^3.2.0":
   version: 3.3.0
   resolution: "events@npm:3.3.0"
@@ -8739,7 +6871,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6":
+"fast-levenshtein@npm:^2.0.6":
   version: 2.0.6
   resolution: "fast-levenshtein@npm:2.0.6"
   checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c
@@ -8991,25 +7123,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"for-each@npm:^0.3.3":
-  version: 0.3.3
-  resolution: "for-each@npm:0.3.3"
-  dependencies:
-    is-callable: ^1.1.3
-  checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28
-  languageName: node
-  linkType: hard
-
-"foreground-child@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "foreground-child@npm:2.0.0"
-  dependencies:
-    cross-spawn: ^7.0.0
-    signal-exit: ^3.0.2
-  checksum: f77ec9aff621abd6b754cb59e690743e7639328301fbea6ff09df27d2befaf7dd5b77cec51c32323d73a81a7d91caaf9413990d305cbe3d873eec4fe58960956
-  languageName: node
-  linkType: hard
-
 "fork-ts-checker-webpack-plugin@npm:^6.5.0":
   version: 6.5.2
   resolution: "fork-ts-checker-webpack-plugin@npm:6.5.2"
@@ -9041,28 +7154,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"form-data@npm:^3.0.0":
-  version: 3.0.1
-  resolution: "form-data@npm:3.0.1"
-  dependencies:
-    asynckit: ^0.4.0
-    combined-stream: ^1.0.8
-    mime-types: ^2.1.12
-  checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d
-  languageName: node
-  linkType: hard
-
-"form-data@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "form-data@npm:4.0.0"
-  dependencies:
-    asynckit: ^0.4.0
-    combined-stream: ^1.0.8
-    mime-types: ^2.1.12
-  checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c
-  languageName: node
-  linkType: hard
-
 "forwarded@npm:0.2.0":
   version: 0.2.0
   resolution: "forwarded@npm:0.2.0"
@@ -9175,23 +7266,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"gauge@npm:^3.0.0":
-  version: 3.0.2
-  resolution: "gauge@npm:3.0.2"
-  dependencies:
-    aproba: ^1.0.3 || ^2.0.0
-    color-support: ^1.1.2
-    console-control-strings: ^1.0.0
-    has-unicode: ^2.0.1
-    object-assign: ^4.1.1
-    signal-exit: ^3.0.0
-    string-width: ^4.2.3
-    strip-ansi: ^6.0.1
-    wide-align: ^1.1.2
-  checksum: 81296c00c7410cdd48f997800155fbead4f32e4f82109be0719c63edc8560e6579946cc8abd04205297640691ec26d21b578837fd13a4e96288ab4b40b1dc3e9
-  languageName: node
-  linkType: hard
-
 "gauge@npm:^4.0.3":
   version: 4.0.4
   resolution: "gauge@npm:4.0.4"
@@ -9208,17 +7282,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"gen-esm-wrapper@npm:^1.1.3":
-  version: 1.1.3
-  resolution: "gen-esm-wrapper@npm:1.1.3"
-  dependencies:
-    is-valid-identifier: ^2.0.2
-  bin:
-    gen-esm-wrapper: gen-esm-wrapper.js
-  checksum: 600abe05141d3a3d71af3bd65a1967c7fd09bd7c60d487dca5c30b2af0f58b40580990d34cfa3ac1dffd78463d895912a100bac4ea6e8cb2ee4461bbafa67011
-  languageName: node
-  linkType: hard
-
 "gensync@npm:^1.0.0-beta.1, gensync@npm:^1.0.0-beta.2":
   version: 1.0.0-beta.2
   resolution: "gensync@npm:1.0.0-beta.2"
@@ -9233,13 +7296,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"get-func-name@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "get-func-name@npm:2.0.0"
-  checksum: 8d82e69f3e7fab9e27c547945dfe5cc0c57fc0adf08ce135dddb01081d75684a03e7a0487466f478872b341d52ac763ae49e660d01ab83741f74932085f693c3
-  languageName: node
-  linkType: hard
-
 "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3":
   version: 1.1.3
   resolution: "get-intrinsic@npm:1.1.3"
@@ -9293,7 +7349,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"git-raw-commits@npm:^2.0.0, git-raw-commits@npm:^2.0.8":
+"git-raw-commits@npm:^2.0.0":
   version: 2.0.11
   resolution: "git-raw-commits@npm:2.0.11"
   dependencies:
@@ -9308,18 +7364,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"git-semver-tags@npm:^4.1.1":
-  version: 4.1.1
-  resolution: "git-semver-tags@npm:4.1.1"
-  dependencies:
-    meow: ^8.0.0
-    semver: ^6.0.0
-  bin:
-    git-semver-tags: cli.js
-  checksum: e16d02a515c0f88289a28b5bf59bf42c0dc053765922d3b617ae4b50546bd4f74a25bf3ad53b91cb6c1159319a2e92533b160c573b856c2629125c8b26b3b0e3
-  languageName: node
-  linkType: hard
-
 "github-slugger@npm:^1.4.0":
   version: 1.4.0
   resolution: "github-slugger@npm:1.4.0"
@@ -9352,21 +7396,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"glob@npm:7.1.6":
-  version: 7.1.6
-  resolution: "glob@npm:7.1.6"
-  dependencies:
-    fs.realpath: ^1.0.0
-    inflight: ^1.0.4
-    inherits: 2
-    minimatch: ^3.0.4
-    once: ^1.3.0
-    path-is-absolute: ^1.0.0
-  checksum: 351d549dd90553b87c2d3f90ce11aed9e1093c74130440e7ae0592e11bbcd2ce7f0ebb8ba6bfe63aaf9b62166a7f4c80cb84490ae5d78408bb2572bf7d4ee0a6
-  languageName: node
-  linkType: hard
-
-"glob@npm:7.2.3, glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0":
+"glob@npm:7.2.3, glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6":
   version: 7.2.3
   resolution: "glob@npm:7.2.3"
   dependencies:
@@ -9380,7 +7410,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"glob@npm:^8.0.1, glob@npm:^8.0.3":
+"glob@npm:^8.0.1":
   version: 8.0.3
   resolution: "glob@npm:8.0.3"
   dependencies:
@@ -9484,7 +7514,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"globby@npm:^11.0.1, globby@npm:^11.0.3, globby@npm:^11.0.4, globby@npm:^11.1.0":
+"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0":
   version: 11.1.0
   resolution: "globby@npm:11.1.0"
   dependencies:
@@ -9559,24 +7589,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"handlebars@npm:^4.7.7":
-  version: 4.7.7
-  resolution: "handlebars@npm:4.7.7"
-  dependencies:
-    minimist: ^1.2.5
-    neo-async: ^2.6.0
-    source-map: ^0.6.1
-    uglify-js: ^3.1.4
-    wordwrap: ^1.0.0
-  dependenciesMeta:
-    uglify-js:
-      optional: true
-  bin:
-    handlebars: bin/handlebars
-  checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee
-  languageName: node
-  linkType: hard
-
 "hard-rejection@npm:^2.1.0":
   version: 2.1.0
   resolution: "hard-rejection@npm:2.1.0"
@@ -9790,15 +7802,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"hosted-git-info@npm:^5.0.0":
-  version: 5.1.0
-  resolution: "hosted-git-info@npm:5.1.0"
-  dependencies:
-    lru-cache: ^7.5.1
-  checksum: 22abbc6a7418344c883e2df6e791e94b38192b2a61256b19c955999d878b8d5365ea51683fd1f0cc8f217e9bd121db88d5aaa7cf0407c4b7ff287b79aabacbd3
-  languageName: node
-  linkType: hard
-
 "hpack.js@npm:^2.1.6":
   version: 2.1.6
   resolution: "hpack.js@npm:2.1.6"
@@ -9811,15 +7814,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"html-encoding-sniffer@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "html-encoding-sniffer@npm:3.0.0"
-  dependencies:
-    whatwg-encoding: ^2.0.0
-  checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502
-  languageName: node
-  linkType: hard
-
 "html-entities@npm:^2.3.2":
   version: 2.3.3
   resolution: "html-entities@npm:2.3.3"
@@ -9827,13 +7821,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"html-escaper@npm:^2.0.0":
-  version: 2.0.2
-  resolution: "html-escaper@npm:2.0.2"
-  checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974
-  languageName: node
-  linkType: hard
-
 "html-minifier-terser@npm:^6.0.2, html-minifier-terser@npm:^6.1.0":
   version: 6.1.0
   resolution: "html-minifier-terser@npm:6.1.0"
@@ -9990,7 +7977,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1":
+"https-proxy-agent@npm:^5.0.0":
   version: 5.0.1
   resolution: "https-proxy-agent@npm:5.0.1"
   dependencies:
@@ -10039,15 +8026,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"i18next@npm:^21.10.0":
-  version: 21.10.0
-  resolution: "i18next@npm:21.10.0"
-  dependencies:
-    "@babel/runtime": ^7.17.2
-  checksum: f997985e2d4d15a62a0936a82ff6420b97f3f971e776fe685bdd50b4de0cb4dc2198bc75efe6b152844794ebd5040d8060d6d152506a687affad534834836d81
-  languageName: node
-  linkType: hard
-
 "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24":
   version: 0.4.24
   resolution: "iconv-lite@npm:0.4.24"
@@ -10057,7 +8035,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2":
+"iconv-lite@npm:^0.6.2":
   version: 0.6.3
   resolution: "iconv-lite@npm:0.6.3"
   dependencies:
@@ -10082,14 +8060,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ieee754@npm:1.1.13":
-  version: 1.1.13
-  resolution: "ieee754@npm:1.1.13"
-  checksum: 102df1ba662e316e6160f7ce29c7c7fa3e04f2014c288336c5a9ff40bbcc2a27d209fa2a81ebfb33f28b1941021343d30e9ad8ee85a2d61f79f5936c35edc33d
-  languageName: node
-  linkType: hard
-
-"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4":
+"ieee754@npm:^1.1.13":
   version: 1.2.1
   resolution: "ieee754@npm:1.2.1"
   checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e
@@ -10183,13 +8154,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"inherits@npm:2.0.1":
-  version: 2.0.1
-  resolution: "inherits@npm:2.0.1"
-  checksum: 6536b9377296d4ce8ee89c5c543cb75030934e61af42dba98a428e7d026938c5985ea4d1e3b87743a5b834f40ed1187f89c2d7479e9d59e41d2d1051aefba07b
-  languageName: node
-  linkType: hard
-
 "inherits@npm:2.0.3":
   version: 2.0.3
   resolution: "inherits@npm:2.0.3"
@@ -10268,23 +8232,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ioredis@npm:^5.2.2":
-  version: 5.2.3
-  resolution: "ioredis@npm:5.2.3"
-  dependencies:
-    "@ioredis/commands": ^1.1.1
-    cluster-key-slot: ^1.1.0
-    debug: ^4.3.4
-    denque: ^2.0.1
-    lodash.defaults: ^4.2.0
-    lodash.isarguments: ^3.1.0
-    redis-errors: ^1.2.0
-    redis-parser: ^3.0.0
-    standard-as-callback: ^2.1.0
-  checksum: 2cb7f0f4217e6774accad3620af1b7114722721c1d1824be2c9f0c2a77ab9629f2e0848d18b1a7208bc37796ae1207cb3e0898fce61900cfe797da0382724ad1
-  languageName: node
-  linkType: hard
-
 "ip@npm:^2.0.0":
   version: 2.0.0
   resolution: "ip@npm:2.0.0"
@@ -10323,16 +8270,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-arguments@npm:^1.0.4":
-  version: 1.1.1
-  resolution: "is-arguments@npm:1.1.1"
-  dependencies:
-    call-bind: ^1.0.2
-    has-tostringtag: ^1.0.0
-  checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27
-  languageName: node
-  linkType: hard
-
 "is-arrayish@npm:^0.2.1":
   version: 0.2.1
   resolution: "is-arrayish@npm:0.2.1"
@@ -10375,7 +8312,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
+"is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
   version: 1.2.7
   resolution: "is-callable@npm:1.2.7"
   checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac
@@ -10455,15 +8392,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-generator-function@npm:^1.0.7":
-  version: 1.0.10
-  resolution: "is-generator-function@npm:1.0.10"
-  dependencies:
-    has-tostringtag: ^1.0.0
-  checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b
-  languageName: node
-  linkType: hard
-
 "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1":
   version: 4.0.3
   resolution: "is-glob@npm:4.0.3"
@@ -10599,13 +8527,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-potential-custom-element-name@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "is-potential-custom-element-name@npm:1.0.1"
-  checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab
-  languageName: node
-  linkType: hard
-
 "is-regex@npm:^1.1.4":
   version: 1.1.4
   resolution: "is-regex@npm:1.1.4"
@@ -10680,19 +8601,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9":
-  version: 1.1.9
-  resolution: "is-typed-array@npm:1.1.9"
-  dependencies:
-    available-typed-arrays: ^1.0.5
-    call-bind: ^1.0.2
-    es-abstract: ^1.20.0
-    for-each: ^0.3.3
-    has-tostringtag: ^1.0.0
-  checksum: 11910f1e58755fef43bf0074e52fa5b932bf101ec65d613e0a83d40e8e4c6e3f2ee142d624ebc7624c091d3bbe921131f8db7d36ecbbb71909f2fe310c1faa65
-  languageName: node
-  linkType: hard
-
 "is-typedarray@npm:^1.0.0":
   version: 1.0.0
   resolution: "is-typedarray@npm:1.0.0"
@@ -10714,15 +8622,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-valid-identifier@npm:^2.0.2":
-  version: 2.0.2
-  resolution: "is-valid-identifier@npm:2.0.2"
-  dependencies:
-    assert: ^1.4.1
-  checksum: 79e5237998621f09b76582d8ef6928eb4cc96e78795d317aa1ea260aa5d22d4dae3c5baa519414f8e9a4833ee948e3bf0bd98496802f492c30640d672b528117
-  languageName: node
-  linkType: hard
-
 "is-weakref@npm:^1.0.2":
   version: 1.0.2
   resolution: "is-weakref@npm:1.0.2"
@@ -10776,7 +8675,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"isarray@npm:^1.0.0, isarray@npm:~1.0.0":
+"isarray@npm:~1.0.0":
   version: 1.0.0
   resolution: "isarray@npm:1.0.0"
   checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab
@@ -10797,34 +8696,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
-  version: 3.2.0
-  resolution: "istanbul-lib-coverage@npm:3.2.0"
-  checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9
-  languageName: node
-  linkType: hard
-
-"istanbul-lib-report@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "istanbul-lib-report@npm:3.0.0"
-  dependencies:
-    istanbul-lib-coverage: ^3.0.0
-    make-dir: ^3.0.0
-    supports-color: ^7.1.0
-  checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b
-  languageName: node
-  linkType: hard
-
-"istanbul-reports@npm:^3.1.4":
-  version: 3.1.5
-  resolution: "istanbul-reports@npm:3.1.5"
-  dependencies:
-    html-escaper: ^2.0.0
-    istanbul-lib-report: ^3.0.0
-  checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89
-  languageName: node
-  linkType: hard
-
 "jake@npm:^10.8.5":
   version: 10.8.5
   resolution: "jake@npm:10.8.5"
@@ -10887,13 +8758,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"jmespath@npm:0.16.0":
-  version: 0.16.0
-  resolution: "jmespath@npm:0.16.0"
-  checksum: 2d602493a1e4addfd1350ac8c9d54b1b03ed09e305fd863bab84a4ee1f52868cf939dd1a08c5cdea29ce9ba8f86875ebb458b6ed45dab3e1c3f2694503fb2fd9
-  languageName: node
-  linkType: hard
-
 "joi@npm:^17.6.0":
   version: 17.6.3
   resolution: "joi@npm:17.6.3"
@@ -10907,13 +8771,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"joycon@npm:^3.0.1":
-  version: 3.1.1
-  resolution: "joycon@npm:3.1.1"
-  checksum: 8003c9c3fc79c5c7602b1c7e9f7a2df2e9916f046b0dbad862aa589be78c15734d11beb9fe846f5e06138df22cb2ad29961b6a986ba81c4920ce2b15a7f11067
-  languageName: node
-  linkType: hard
-
 "js-sdsl@npm:^4.1.4":
   version: 4.1.5
   resolution: "js-sdsl@npm:4.1.5"
@@ -10951,45 +8808,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"jsdom@npm:^20.0.1":
-  version: 20.0.1
-  resolution: "jsdom@npm:20.0.1"
-  dependencies:
-    abab: ^2.0.6
-    acorn: ^8.8.0
-    acorn-globals: ^7.0.0
-    cssom: ^0.5.0
-    cssstyle: ^2.3.0
-    data-urls: ^3.0.2
-    decimal.js: ^10.4.1
-    domexception: ^4.0.0
-    escodegen: ^2.0.0
-    form-data: ^4.0.0
-    html-encoding-sniffer: ^3.0.0
-    http-proxy-agent: ^5.0.0
-    https-proxy-agent: ^5.0.1
-    is-potential-custom-element-name: ^1.0.1
-    nwsapi: ^2.2.2
-    parse5: ^7.1.1
-    saxes: ^6.0.0
-    symbol-tree: ^3.2.4
-    tough-cookie: ^4.1.2
-    w3c-xmlserializer: ^3.0.0
-    webidl-conversions: ^7.0.0
-    whatwg-encoding: ^2.0.0
-    whatwg-mimetype: ^3.0.0
-    whatwg-url: ^11.0.0
-    ws: ^8.9.0
-    xml-name-validator: ^4.0.0
-  peerDependencies:
-    canvas: ^2.5.0
-  peerDependenciesMeta:
-    canvas:
-      optional: true
-  checksum: 9fc0b66a866f58a28e95f5a39b167ea663dc01c9754a019c356cc517d27ff0216055f37ace69e0f4414c51084adca8d5ec71c1e6faee3b8df0941a494167c3a0
-  languageName: node
-  linkType: hard
-
 "jsesc@npm:^2.5.1":
   version: 2.5.2
   resolution: "jsesc@npm:2.5.2"
@@ -11050,13 +8868,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"json-stringify-safe@npm:^5.0.1":
-  version: 5.0.1
-  resolution: "json-stringify-safe@npm:5.0.1"
-  checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee
-  languageName: node
-  linkType: hard
-
 "json5@npm:^1.0.1":
   version: 1.0.1
   resolution: "json5@npm:1.0.1"
@@ -11097,7 +8908,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"jsonparse@npm:^1.2.0, jsonparse@npm:^1.3.1":
+"jsonparse@npm:^1.2.0":
   version: 1.3.1
   resolution: "jsonparse@npm:1.3.1"
   checksum: 6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d
@@ -11193,16 +9004,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"levn@npm:~0.3.0":
-  version: 0.3.0
-  resolution: "levn@npm:0.3.0"
-  dependencies:
-    prelude-ls: ~1.1.2
-    type-check: ~0.3.2
-  checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e
-  languageName: node
-  linkType: hard
-
 "lilconfig@npm:2.0.5":
   version: 2.0.5
   resolution: "lilconfig@npm:2.0.5"
@@ -11210,7 +9011,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lilconfig@npm:^2.0.3, lilconfig@npm:^2.0.5":
+"lilconfig@npm:^2.0.3":
   version: 2.0.6
   resolution: "lilconfig@npm:2.0.6"
   checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d
@@ -11277,13 +9078,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"load-tsconfig@npm:^0.2.0":
-  version: 0.2.3
-  resolution: "load-tsconfig@npm:0.2.3"
-  checksum: e28d1b2725fda76ee69fa4ee21b1257fd5b77b12e1be09cdc0b67f953e62ffbc3e7ac1a6267ec21309f95310cd10635e28a3cb38d04be3f7d683c4fe7914d7a9
-  languageName: node
-  linkType: hard
-
 "loader-runner@npm:^4.2.0":
   version: 4.3.0
   resolution: "loader-runner@npm:4.3.0"
@@ -11309,13 +9103,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"local-pkg@npm:^0.4.1, local-pkg@npm:^0.4.2":
-  version: 0.4.2
-  resolution: "local-pkg@npm:0.4.2"
-  checksum: 22be451353c25c4411b552bf01880ebc9e995b93574b2facc7757968d888356df59199cacada14162ab53bbc9da055bb692c907b4171f008dbce45a2afc777c1
-  languageName: node
-  linkType: hard
-
 "locate-path@npm:^3.0.0":
   version: 3.0.0
   resolution: "locate-path@npm:3.0.0"
@@ -11358,13 +9145,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lodash.defaults@npm:^4.2.0":
-  version: 4.2.0
-  resolution: "lodash.defaults@npm:4.2.0"
-  checksum: 84923258235592c8886e29de5491946ff8c2ae5c82a7ac5cddd2e3cb697e6fbdfbbb6efcca015795c86eec2bb953a5a2ee4016e3735a3f02720428a40efbb8f1
-  languageName: node
-  linkType: hard
-
 "lodash.flow@npm:^3.3.0":
   version: 3.5.0
   resolution: "lodash.flow@npm:3.5.0"
@@ -11372,20 +9152,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lodash.isarguments@npm:^3.1.0":
-  version: 3.1.0
-  resolution: "lodash.isarguments@npm:3.1.0"
-  checksum: ae1526f3eb5c61c77944b101b1f655f846ecbedcb9e6b073526eba6890dc0f13f09f72e11ffbf6540b602caee319af9ac363d6cdd6be41f4ee453436f04f13b5
-  languageName: node
-  linkType: hard
-
-"lodash.ismatch@npm:^4.4.0":
-  version: 4.4.0
-  resolution: "lodash.ismatch@npm:4.4.0"
-  checksum: a393917578842705c7fc1a30fb80613d1ac42d20b67eb26a2a6004d6d61ee90b419f9eb320508ddcd608e328d91eeaa2651411727eaa9a12534ed6ccb02fc705
-  languageName: node
-  linkType: hard
-
 "lodash.map@npm:^4.5.1":
   version: 4.6.0
   resolution: "lodash.map@npm:4.6.0"
@@ -11421,13 +9187,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lodash.uniqwith@npm:^4.5.0":
-  version: 4.5.0
-  resolution: "lodash.uniqwith@npm:4.5.0"
-  checksum: d49a4565ed64efd86674127d321622673c29cde3e060baebc0f30372f22886c61b2ead44709db8c890053db1b9660e8ed689689812c1a485eb5703caa94d1150
-  languageName: node
-  linkType: hard
-
 "lodash@npm:4.17.21, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21":
   version: 4.17.21
   resolution: "lodash@npm:4.17.21"
@@ -11475,15 +9234,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"loupe@npm:^2.3.1":
-  version: 2.3.4
-  resolution: "loupe@npm:2.3.4"
-  dependencies:
-    get-func-name: ^2.0.0
-  checksum: 5af91db61aa18530f1749a64735ee194ac263e65e9f4d1562bf3036c591f1baa948289c193e0e34c7b5e2c1b75d3c1dc4fce87f5edb3cee10b0c0df46bc9ffb3
-  languageName: node
-  linkType: hard
-
 "lower-case@npm:^2.0.2":
   version: 2.0.2
   resolution: "lower-case@npm:2.0.2"
@@ -11516,7 +9266,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"lru-cache@npm:^7.5.1, lru-cache@npm:^7.7.1":
+"lru-cache@npm:^7.7.1":
   version: 7.14.0
   resolution: "lru-cache@npm:7.14.0"
   checksum: efdd329f2c1bb790b71d497c6c59272e6bc2d7dd060ba55fc136becd3dd31fc8346edb446275504d94cb60d3c8385dbf5267b79b23789e409b2bdf302d13f0d7
@@ -11530,13 +9280,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"luxon@npm:^3.0.1":
-  version: 3.0.4
-  resolution: "luxon@npm:3.0.4"
-  checksum: d0908c3951da2a10ccf23040210ead23b0da5366a9d0954e7d5db3560189a7bd703d8af1e00084f197effc9cd7158d1bddf32886d98a70d59ce9bc3fe88bbce0
-  languageName: node
-  linkType: hard
-
 "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7":
   version: 0.25.9
   resolution: "magic-string@npm:0.25.9"
@@ -11546,15 +9289,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"magic-string@npm:^0.26.7":
-  version: 0.26.7
-  resolution: "magic-string@npm:0.26.7"
-  dependencies:
-    sourcemap-codec: ^1.4.8
-  checksum: 89b0d60cbb32bbf3d1e23c46ea93db082d18a8230b972027aecb10a40bba51be519ecce0674f995571e3affe917b76b09f59d8dbc9a1b2c9c4102a2b6e8a2b01
-  languageName: node
-  linkType: hard
-
 "make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0":
   version: 3.1.0
   resolution: "make-dir@npm:3.1.0"
@@ -11571,7 +9305,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"make-fetch-happen@npm:^10.0.3, make-fetch-happen@npm:^10.0.6":
+"make-fetch-happen@npm:^10.0.3":
   version: 10.2.1
   resolution: "make-fetch-happen@npm:10.2.1"
   dependencies:
@@ -11667,7 +9401,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"marked@npm:^4.0.16":
+"marked@npm:^4.0.19":
   version: 4.1.1
   resolution: "marked@npm:4.1.1"
   bin:
@@ -11834,7 +9568,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34":
+"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34":
   version: 2.1.35
   resolution: "mime-types@npm:2.1.35"
   dependencies:
@@ -11976,16 +9710,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"minipass-json-stream@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "minipass-json-stream@npm:1.0.1"
-  dependencies:
-    jsonparse: ^1.3.1
-    minipass: ^3.0.0
-  checksum: 791b696a27d1074c4c08dab1bf5a9f3201145c2933e428f45d880467bce12c60de4703203d2928de4b162d0ae77b0bb4b55f96cb846645800aa0eb4919b3e796
-  languageName: node
-  linkType: hard
-
 "minipass-pipeline@npm:^1.2.4":
   version: 1.2.4
   resolution: "minipass-pipeline@npm:1.2.4"
@@ -12032,27 +9756,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"modern-node-polyfills@npm:^0.0.9":
-  version: 0.0.9
-  resolution: "modern-node-polyfills@npm:0.0.9"
-  dependencies:
-    "@jspm/core": 2.0.0-beta.24
-    "@rollup/plugin-inject": ^4.0.4
-    acorn: ^8.8.0
-    esbuild: ^0.14.47
-    local-pkg: ^0.4.1
-    rollup: ^2.75.7
-  checksum: 673bc35a99a3acf3188c953aa81c0aef1ca3bb9d813c0305f9db98e531141126519ce074bad9561307774be85919f5086210639938279f4d6b0849b0874629e1
-  languageName: node
-  linkType: hard
-
-"modify-values@npm:^1.0.0":
-  version: 1.0.1
-  resolution: "modify-values@npm:1.0.1"
-  checksum: 8296610c608bc97b03c2cf889c6cdf4517e32fa2d836440096374c2209f6b7b3e256c209493a0b32584b9cb32d528e99d0dd19dcd9a14d2d915a312d391cc7e9
-  languageName: node
-  linkType: hard
-
 "mri@npm:^1.1.5":
   version: 1.2.0
   resolution: "mri@npm:1.2.0"
@@ -12088,49 +9791,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"msgpackr-extract@npm:^2.1.2":
-  version: 2.1.2
-  resolution: "msgpackr-extract@npm:2.1.2"
-  dependencies:
-    "@msgpackr-extract/msgpackr-extract-darwin-arm64": 2.1.2
-    "@msgpackr-extract/msgpackr-extract-darwin-x64": 2.1.2
-    "@msgpackr-extract/msgpackr-extract-linux-arm": 2.1.2
-    "@msgpackr-extract/msgpackr-extract-linux-arm64": 2.1.2
-    "@msgpackr-extract/msgpackr-extract-linux-x64": 2.1.2
-    "@msgpackr-extract/msgpackr-extract-win32-x64": 2.1.2
-    node-gyp: latest
-    node-gyp-build-optional-packages: 5.0.3
-  dependenciesMeta:
-    "@msgpackr-extract/msgpackr-extract-darwin-arm64":
-      optional: true
-    "@msgpackr-extract/msgpackr-extract-darwin-x64":
-      optional: true
-    "@msgpackr-extract/msgpackr-extract-linux-arm":
-      optional: true
-    "@msgpackr-extract/msgpackr-extract-linux-arm64":
-      optional: true
-    "@msgpackr-extract/msgpackr-extract-linux-x64":
-      optional: true
-    "@msgpackr-extract/msgpackr-extract-win32-x64":
-      optional: true
-  bin:
-    download-msgpackr-prebuilds: bin/download-prebuilds.js
-  checksum: bf068baa690d3e5c5609c10aa363901ac43d3f32b9d89f9dfb77293afa866eb1b943482338da6c38d50790a66c966fd7e0fbc9187b2a35f40f253931f649f97f
-  languageName: node
-  linkType: hard
-
-"msgpackr@npm:^1.6.2":
-  version: 1.7.2
-  resolution: "msgpackr@npm:1.7.2"
-  dependencies:
-    msgpackr-extract: ^2.1.2
-  dependenciesMeta:
-    msgpackr-extract:
-      optional: true
-  checksum: 156cf8938667c3a191feedaed05c8a2d7c95b53d0834c32928e849a2bd93292e4eba33e3601c79cc4cc79023161d658e91472f1719d0d5c63fb1d0f2b142fa07
-  languageName: node
-  linkType: hard
-
 "multicast-dns@npm:^7.2.5":
   version: 7.2.5
   resolution: "multicast-dns@npm:7.2.5"
@@ -12163,26 +9823,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"mz@npm:^2.7.0":
-  version: 2.7.0
-  resolution: "mz@npm:2.7.0"
-  dependencies:
-    any-promise: ^1.0.0
-    object-assign: ^4.0.1
-    thenify-all: ^1.0.0
-  checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87
-  languageName: node
-  linkType: hard
-
-"nan@npm:^2.17.0":
-  version: 2.17.0
-  resolution: "nan@npm:2.17.0"
-  dependencies:
-    node-gyp: latest
-  checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed
-  languageName: node
-  linkType: hard
-
 "nanoid@npm:^3.3.4":
   version: 3.3.4
   resolution: "nanoid@npm:3.3.4"
@@ -12206,7 +9846,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"neo-async@npm:^2.6.0, neo-async@npm:^2.6.2":
+"neo-async@npm:^2.6.2":
   version: 2.6.2
   resolution: "neo-async@npm:2.6.2"
   checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9
@@ -12223,18 +9863,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"nock@npm:^13.2.9":
-  version: 13.2.9
-  resolution: "nock@npm:13.2.9"
-  dependencies:
-    debug: ^4.1.0
-    json-stringify-safe: ^5.0.1
-    lodash: ^4.17.21
-    propagate: ^2.0.0
-  checksum: 04a2dc60b4b55fd1240f28fe34865bbc744088a4570db3781fcf66021644cc3cc9178fd86a0cb0c1f28ea77b83e8f1c9288535f6b39a6d07100059f156ccc23b
-  languageName: node
-  linkType: hard
-
 "node-emoji@npm:^1.10.0":
   version: 1.11.0
   resolution: "node-emoji@npm:1.11.0"
@@ -12244,7 +9872,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.7":
+"node-fetch@npm:2.6.7":
   version: 2.6.7
   resolution: "node-fetch@npm:2.6.7"
   dependencies:
@@ -12265,17 +9893,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"node-gyp-build-optional-packages@npm:5.0.3":
-  version: 5.0.3
-  resolution: "node-gyp-build-optional-packages@npm:5.0.3"
-  bin:
-    node-gyp-build-optional-packages: bin.js
-    node-gyp-build-optional-packages-optional: optional.js
-    node-gyp-build-optional-packages-test: build-test.js
-  checksum: be3f0235925c8361e5bc1a03848f5e24815b0df8aa90bd13f1eac91cd86264bbb8b7689ca6cd083b02c8099c7b54f9fb83066c7bb77c2389dc4eceab921f084f
-  languageName: node
-  linkType: hard
-
 "node-gyp@npm:latest":
   version: 9.3.0
   resolution: "node-gyp@npm:9.3.0"
@@ -12303,17 +9920,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"nopt@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "nopt@npm:5.0.0"
-  dependencies:
-    abbrev: 1
-  bin:
-    nopt: bin/nopt.js
-  checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f
-  languageName: node
-  linkType: hard
-
 "nopt@npm:^6.0.0":
   version: 6.0.0
   resolution: "nopt@npm:6.0.0"
@@ -12377,33 +9983,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"npm-package-arg@npm:^9.0.1, npm-package-arg@npm:^9.1.0":
-  version: 9.1.2
-  resolution: "npm-package-arg@npm:9.1.2"
-  dependencies:
-    hosted-git-info: ^5.0.0
-    proc-log: ^2.0.1
-    semver: ^7.3.5
-    validate-npm-package-name: ^4.0.0
-  checksum: 3793488843985ed71deb14fcba7c068d8ed03a18fd8f6b235c6a64465c9a25f60261598106d5cc8677c0bee9548e405c34c2e3c7a822e3113d3389351c745dfa
-  languageName: node
-  linkType: hard
-
-"npm-registry-fetch@npm:^13.3.0":
-  version: 13.3.1
-  resolution: "npm-registry-fetch@npm:13.3.1"
-  dependencies:
-    make-fetch-happen: ^10.0.6
-    minipass: ^3.1.6
-    minipass-fetch: ^2.0.3
-    minipass-json-stream: ^1.0.1
-    minizlib: ^2.1.2
-    npm-package-arg: ^9.0.1
-    proc-log: ^2.0.0
-  checksum: 5a941c2c799568e0dbccfc15f280444da398dadf2eede1b1921f08ddd5cb5f32c7cb4d16be96401f95a33073aeec13a3fd928c753790d3c412c2e64e7f7c6ee4
-  languageName: node
-  linkType: hard
-
 "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1":
   version: 4.0.1
   resolution: "npm-run-path@npm:4.0.1"
@@ -12422,18 +10001,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"npmlog@npm:^5.0.1":
-  version: 5.0.1
-  resolution: "npmlog@npm:5.0.1"
-  dependencies:
-    are-we-there-yet: ^2.0.0
-    console-control-strings: ^1.1.0
-    gauge: ^3.0.0
-    set-blocking: ^2.0.0
-  checksum: 516b2663028761f062d13e8beb3f00069c5664925871a9b57989642ebe09f23ab02145bf3ab88da7866c4e112cafff72401f61a672c7c8a20edc585a7016ef5f
-  languageName: node
-  linkType: hard
-
 "npmlog@npm:^6.0.0":
   version: 6.0.2
   resolution: "npmlog@npm:6.0.2"
@@ -12462,14 +10029,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"nwsapi@npm:^2.2.2":
-  version: 2.2.2
-  resolution: "nwsapi@npm:2.2.2"
-  checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205
-  languageName: node
-  linkType: hard
-
-"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1":
+"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1":
   version: 4.1.1
   resolution: "object-assign@npm:4.1.1"
   checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
@@ -12615,20 +10175,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"optionator@npm:^0.8.1":
-  version: 0.8.3
-  resolution: "optionator@npm:0.8.3"
-  dependencies:
-    deep-is: ~0.1.3
-    fast-levenshtein: ~2.0.6
-    levn: ~0.3.0
-    prelude-ls: ~1.1.2
-    type-check: ~0.3.2
-    word-wrap: ~1.2.3
-  checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34
-  languageName: node
-  linkType: hard
-
 "optionator@npm:^0.9.1":
   version: 0.9.1
   resolution: "optionator@npm:0.9.1"
@@ -12833,7 +10379,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"parse5@npm:^7.0.0, parse5@npm:^7.1.1":
+"parse5@npm:^7.0.0":
   version: 7.1.1
   resolution: "parse5@npm:7.1.1"
   dependencies:
@@ -12938,13 +10484,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"pathval@npm:^1.1.1":
-  version: 1.1.1
-  resolution: "pathval@npm:1.1.1"
-  checksum: 090e3147716647fb7fb5b4b8c8e5b55e5d0a6086d085b6cd23f3d3c01fcf0ff56fd3cc22f2f4a033bd2e46ed55d61ed8379e123b42afe7d531a2a5fc8bb556d6
-  languageName: node
-  linkType: hard
-
 "picocolors@npm:^1.0.0":
   version: 1.0.0
   resolution: "picocolors@npm:1.0.0"
@@ -12968,22 +10507,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"pinst@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "pinst@npm:3.0.0"
-  bin:
-    pinst: bin.js
-  checksum: 4ae48a6a60f79c37071233af51b4d91bfc85cfa3c12b66ccda60cdb642b4d14a4ab0cb3587afc55b1f6192cea1772a5e4822026a0d0d3528296edef00cc2d61f
-  languageName: node
-  linkType: hard
-
-"pirates@npm:^4.0.1":
-  version: 4.0.5
-  resolution: "pirates@npm:4.0.5"
-  checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227
-  languageName: node
-  linkType: hard
-
 "pkg-dir@npm:^4.1.0":
   version: 4.2.0
   resolution: "pkg-dir@npm:4.2.0"
@@ -13087,24 +10610,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"postcss-load-config@npm:^3.0.1":
-  version: 3.1.4
-  resolution: "postcss-load-config@npm:3.1.4"
-  dependencies:
-    lilconfig: ^2.0.5
-    yaml: ^1.10.2
-  peerDependencies:
-    postcss: ">=8.0.9"
-    ts-node: ">=9.0.0"
-  peerDependenciesMeta:
-    postcss:
-      optional: true
-    ts-node:
-      optional: true
-  checksum: 1c589504c2d90b1568aecae8238ab993c17dba2c44f848a8f13619ba556d26a1c09644d5e6361b5784e721e94af37b604992f9f3dc0483e687a0cc1cc5029a34
-  languageName: node
-  linkType: hard
-
 "postcss-loader@npm:^7.0.0":
   version: 7.0.1
   resolution: "postcss-loader@npm:7.0.1"
@@ -13454,7 +10959,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"postcss@npm:^8.3.11, postcss@npm:^8.4.14, postcss@npm:^8.4.16, postcss@npm:^8.4.17, postcss@npm:^8.4.7":
+"postcss@npm:^8.3.11, postcss@npm:^8.4.14, postcss@npm:^8.4.17, postcss@npm:^8.4.7":
   version: 8.4.18
   resolution: "postcss@npm:8.4.18"
   dependencies:
@@ -13472,13 +10977,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"prelude-ls@npm:~1.1.2":
-  version: 1.1.2
-  resolution: "prelude-ls@npm:1.1.2"
-  checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4
-  languageName: node
-  linkType: hard
-
 "prepend-http@npm:^2.0.0":
   version: 2.0.0
   resolution: "prepend-http@npm:2.0.0"
@@ -13562,13 +11060,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"proc-log@npm:^2.0.0, proc-log@npm:^2.0.1":
-  version: 2.0.1
-  resolution: "proc-log@npm:2.0.1"
-  checksum: f6f23564ff759097db37443e6e2765af84979a703d2c52c1b9df506ee9f87caa101ba49d8fdc115c1a313ec78e37e8134704e9069e6a870f3499d98bb24c436f
-  languageName: node
-  linkType: hard
-
 "process-nextick-args@npm:~2.0.0":
   version: 2.0.1
   resolution: "process-nextick-args@npm:2.0.1"
@@ -13623,13 +11114,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"propagate@npm:^2.0.0":
-  version: 2.0.1
-  resolution: "propagate@npm:2.0.1"
-  checksum: c4febaee2be0979e82fb6b3727878fd122a98d64a7fa3c9d09b0576751b88514a9e9275b1b92e76b364d488f508e223bd7e1dcdc616be4cdda876072fbc2a96c
-  languageName: node
-  linkType: hard
-
 "property-information@npm:^5.0.0, property-information@npm:^5.3.0":
   version: 5.6.0
   resolution: "property-information@npm:5.6.0"
@@ -13649,13 +11133,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"psl@npm:^1.1.33, psl@npm:^1.9.0":
-  version: 1.9.0
-  resolution: "psl@npm:1.9.0"
-  checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d
-  languageName: node
-  linkType: hard
-
 "pump@npm:^3.0.0":
   version: 3.0.0
   resolution: "pump@npm:3.0.0"
@@ -13666,13 +11143,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"punycode@npm:1.3.2":
-  version: 1.3.2
-  resolution: "punycode@npm:1.3.2"
-  checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6
-  languageName: node
-  linkType: hard
-
 "punycode@npm:^1.3.2":
   version: 1.4.1
   resolution: "punycode@npm:1.4.1"
@@ -13680,7 +11150,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"punycode@npm:^2.1.0, punycode@npm:^2.1.1":
+"punycode@npm:^2.1.0":
   version: 2.1.1
   resolution: "punycode@npm:2.1.1"
   checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
@@ -13719,20 +11189,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"querystring@npm:0.2.0":
-  version: 0.2.0
-  resolution: "querystring@npm:0.2.0"
-  checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69
-  languageName: node
-  linkType: hard
-
-"querystringify@npm:^2.1.1":
-  version: 2.2.0
-  resolution: "querystringify@npm:2.2.0"
-  checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15
-  languageName: node
-  linkType: hard
-
 "queue-microtask@npm:^1.2.2":
   version: 1.2.3
   resolution: "queue-microtask@npm:1.2.3"
@@ -14027,7 +11483,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0":
+"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0":
   version: 3.6.0
   resolution: "readable-stream@npm:3.6.0"
   dependencies:
@@ -14097,22 +11553,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0":
-  version: 1.2.0
-  resolution: "redis-errors@npm:1.2.0"
-  checksum: f28ac2692113f6f9c222670735aa58aeae413464fd58ccf3fce3f700cae7262606300840c802c64f2b53f19f65993da24dc918afc277e9e33ac1ff09edb394f4
-  languageName: node
-  linkType: hard
-
-"redis-parser@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "redis-parser@npm:3.0.0"
-  dependencies:
-    redis-errors: ^1.0.0
-  checksum: 89290ae530332f2ae37577647fa18208d10308a1a6ba750b9d9a093e7398f5e5253f19855b64c98757f7129cccce958e4af2573fdc33bad41405f87f1943459a
-  languageName: node
-  linkType: hard
-
 "regenerate-unicode-properties@npm:^10.1.0":
   version: 10.1.0
   resolution: "regenerate-unicode-properties@npm:10.1.0"
@@ -14307,19 +11747,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"replace-in-file@npm:^6.3.5":
-  version: 6.3.5
-  resolution: "replace-in-file@npm:6.3.5"
-  dependencies:
-    chalk: ^4.1.2
-    glob: ^7.2.0
-    yargs: ^17.2.1
-  bin:
-    replace-in-file: bin/cli.js
-  checksum: e5ac3bfee531dcb70cfbb327e6d4ec86bcf4c8045f292e46fb0e4c8743bd70a274c2402918d2609a25fde829862b6e1fe5f09f6c171aabbdde142a9f33008cf1
-  languageName: node
-  linkType: hard
-
 "require-directory@npm:^2.1.1":
   version: 2.1.1
   resolution: "require-directory@npm:2.1.1"
@@ -14388,7 +11815,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2":
+"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.3.2":
   version: 1.22.1
   resolution: "resolve@npm:1.22.1"
   dependencies:
@@ -14414,7 +11841,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"resolve@patch:resolve@^1.1.6#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.3.2#~builtin<compat/resolve>":
+"resolve@patch:resolve@^1.1.6#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.3.2#~builtin<compat/resolve>":
   version: 1.22.1
   resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"
   dependencies:
@@ -14498,22 +11925,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rollup-plugin-dts@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "rollup-plugin-dts@npm:5.0.0"
-  dependencies:
-    "@babel/code-frame": ^7.18.6
-    magic-string: ^0.26.7
-  peerDependencies:
-    rollup: ^3.0.0
-    typescript: ^4.1
-  dependenciesMeta:
-    "@babel/code-frame":
-      optional: true
-  checksum: feb2d614528c255ee698120be0fd404b0a4fa312362a3d687d76551157464decc66be6dfecb624c42bc64a9e6298ed21e13e689dc9b144acab8294cd08a53455
-  languageName: node
-  linkType: hard
-
 "rollup-plugin-terser@npm:^7.0.0":
   version: 7.0.2
   resolution: "rollup-plugin-terser@npm:7.0.2"
@@ -14528,7 +11939,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rollup@npm:^2.43.1, rollup@npm:^2.74.1, rollup@npm:^2.75.7":
+"rollup@npm:^2.43.1":
   version: 2.79.1
   resolution: "rollup@npm:2.79.1"
   dependencies:
@@ -14542,113 +11953,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rollup@npm:^3.2.1":
-  version: 3.2.3
-  resolution: "rollup@npm:3.2.3"
-  dependencies:
-    fsevents: ~2.3.2
-  dependenciesMeta:
-    fsevents:
-      optional: true
-  bin:
-    rollup: dist/bin/rollup
-  checksum: e4b4f3b70fad4b8f7dabc579fb8bbe14399d5aed0cc1fcee39f15ae81804d6acd0e1063b653e6cf5ef50e8e954801689e2c822e99ed31ca18f1b1fbbea8075e5
-  languageName: node
-  linkType: hard
-
-"rollup@npm:~2.78.0":
-  version: 2.78.1
-  resolution: "rollup@npm:2.78.1"
-  dependencies:
-    fsevents: ~2.3.2
-  dependenciesMeta:
-    fsevents:
-      optional: true
-  bin:
-    rollup: dist/bin/rollup
-  checksum: 9034814383ca5bdb4bea6d499270aeb31cdb0bb884f81b0c6a1d19c63cc973f040e6ee09b7af8a7169dd231c090f4b44ef8b99c4bfdf884aceeb3dcefb8cfa14
-  languageName: node
-  linkType: hard
-
-"root-plugins@workspace:projects/plugins":
-  version: 0.0.0-use.local
-  resolution: "root-plugins@workspace:projects/plugins"
-  dependencies:
-    "@actions/core": ^1.10.0
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@sapphire/eslint-config": ^4.3.8
-    "@sapphire/framework": ^3.1.3
-    "@sapphire/pieces": ^3.5.2
-    "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/stopwatch": ^1.5.0
-    "@sapphire/ts-config": ^3.3.4
-    "@sapphire/utilities": ^3.11.0
-    "@types/node": ^18.11.0
-    "@types/node-fetch": ^2.6.2
-    "@types/ws": ^8.5.3
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    "@vitest/coverage-c8": ^0.24.3
-    cz-conventional-changelog: ^3.3.0
-    discord-api-types: ^0.33.5
-    discord.js: ^13.12.0
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    gen-esm-wrapper: ^1.1.3
-    husky: ^8.0.1
-    lint-staged: ^13.0.3
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    rimraf: ^3.0.2
-    turbo: ^1.5.6
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
-"root-utilities@workspace:projects/utilities":
-  version: 0.0.0-use.local
-  resolution: "root-utilities@workspace:projects/utilities"
-  dependencies:
-    "@actions/core": ^1.10.0
-    "@commitlint/cli": ^17.1.2
-    "@commitlint/config-conventional": ^17.1.0
-    "@discordjs/collection": ^1.2.0
-    "@favware/cliff-jumper": ^1.8.8
-    "@favware/npm-deprecate": ^1.0.5
-    "@favware/rollup-type-bundler": ^2.0.0
-    "@sapphire/framework": ^3.1.3
-    "@types/lodash": ^4.14.186
-    "@types/node": ^18.11.0
-    "@types/ws": ^8.5.3
-    "@typescript-eslint/eslint-plugin": ^5.40.0
-    "@typescript-eslint/parser": ^5.40.0
-    "@vitest/coverage-c8": ^0.24.3
-    cz-conventional-changelog: ^3.3.0
-    discord-api-types: ^0.33.5
-    discord.js: ^13.12.0
-    eslint: ^8.25.0
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.2.1
-    husky: ^8.0.1
-    lint-staged: ^13.0.3
-    lodash: ^4.17.21
-    nock: ^13.2.9
-    prettier: ^2.7.1
-    pretty-quick: ^3.1.3
-    rimraf: ^3.0.2
-    tslib: ^2.4.0
-    tsup: ^6.2.3
-    turbo: ^1.5.6
-    typescript: ^4.8.4
-    vitest: ^0.24.3
-  languageName: unknown
-  linkType: soft
-
 "root-website@workspace:.":
   version: 0.0.0-use.local
   resolution: "root-website@workspace:."
@@ -14662,17 +11966,11 @@ __metadata:
     "@docusaurus/theme-search-algolia": 2.1.0
     "@heroicons/react": ^1.0.6
     "@mdx-js/react": ^1.6.22
-    "@sapphire/cron": ^1.0.0
-    "@sapphire/decorators": ^5.0.0
     "@sapphire/docusaurus-plugin-npm2yarn2pnpm": 1.1.4
     "@sapphire/docusaurus-plugin-ts2esm2cjs": 1.1.3
-    "@sapphire/duration": ^1.0.0
     "@sapphire/eslint-config": ^4.3.8
     "@sapphire/fetch": ^2.4.1
     "@sapphire/prettier-config": ^1.4.4
-    "@sapphire/result": ^2.6.0
-    "@sapphire/timer-manager": ^1.0.0
-    "@sapphire/timestamp": ^1.0.0
     "@sapphire/ts-config": ^3.3.4
     "@svgr/webpack": ^6.5.0
     "@tippyjs/react": ^4.2.6
@@ -14683,7 +11981,6 @@ __metadata:
     "@typescript-eslint/parser": ^5.40.1
     clsx: ^1.2.1
     cz-conventional-changelog: ^3.3.0
-    docusaurus-plugin-typedoc: ^0.17.5
     eslint: ^8.26.0
     eslint-config-prettier: ^8.5.0
     eslint-plugin-import: ^2.26.0
@@ -14700,14 +11997,7 @@ __metadata:
     prism-react-renderer: ^1.3.5
     react: ^17.0.2
     react-dom: ^17.0.2
-    replace-in-file: ^6.3.5
-    rimraf: ^3.0.2
     swr: ^1.3.0
-    ts-node: ^10.9.1
-    typedoc: 0.22.18
-    typedoc-plugin-djs-links: ^1.2.0
-    typedoc-plugin-markdown: ^3.13.6
-    typedoc-plugin-mdn-links: ^2.0.0
     typescript: ^4.8.4
   languageName: unknown
   linkType: soft
@@ -14790,29 +12080,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"sax@npm:1.2.1":
-  version: 1.2.1
-  resolution: "sax@npm:1.2.1"
-  checksum: 8dca7d5e1cd7d612f98ac50bdf0b9f63fbc964b85f0c4e2eb271f8b9b47fd3bf344c4d6a592e69ecf726d1485ca62cd8a52e603bbc332d18a66af25a9a1045ad
-  languageName: node
-  linkType: hard
-
-"sax@npm:>=0.6.0, sax@npm:^1.2.4":
+"sax@npm:^1.2.4":
   version: 1.2.4
   resolution: "sax@npm:1.2.4"
   checksum: d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe
   languageName: node
   linkType: hard
 
-"saxes@npm:^6.0.0":
-  version: 6.0.0
-  resolution: "saxes@npm:6.0.0"
-  dependencies:
-    xmlchars: ^2.2.0
-  checksum: d3fa3e2aaf6c65ed52ee993aff1891fc47d5e47d515164b5449cbf5da2cbdc396137e55590472e64c5c436c14ae64a8a03c29b9e7389fc6f14035cf4e982ef3b
-  languageName: node
-  linkType: hard
-
 "scheduler@npm:^0.20.2":
   version: 0.20.2
   resolution: "scheduler@npm:0.20.2"
@@ -14932,7 +12206,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"semver@npm:^7.0.0, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7":
+"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7":
   version: 7.3.8
   resolution: "semver@npm:7.3.8"
   dependencies:
@@ -15105,14 +12379,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"shiki@npm:^0.10.1":
-  version: 0.10.1
-  resolution: "shiki@npm:0.10.1"
+"shiki@npm:^0.11.1":
+  version: 0.11.1
+  resolution: "shiki@npm:0.11.1"
   dependencies:
     jsonc-parser: ^3.0.0
     vscode-oniguruma: ^1.6.1
-    vscode-textmate: 5.2.0
-  checksum: fb746f3cb3de7e545e3b10a6cb658d3938f840e4ccc9a3c90ceb7e69a8f89dbb432171faac1e9f02a03f103684dad88ee5e54b5c4964fa6b579fca6e8e26424d
+    vscode-textmate: ^6.0.0
+  checksum: 2a4ebc3b466816263fc244ae4f67a4ff96aa74d863b9c5e7e4affc50f37fd6d1a781405de0dbf763b777bc33e49a0d441de7ff3fededb8b01e3b8dbb37e2927d
   languageName: node
   linkType: hard
 
@@ -15127,7 +12401,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7":
+"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7":
   version: 3.0.7
   resolution: "signal-exit@npm:3.0.7"
   checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318
@@ -15265,6 +12539,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"source-map-resolve@npm:^0.6.0":
+  version: 0.6.0
+  resolution: "source-map-resolve@npm:0.6.0"
+  dependencies:
+    atob: ^2.1.2
+    decode-uri-component: ^0.2.0
+  checksum: fe503b9e5dac1c54be835282fcfec10879434e7b3ee08a9774f230299c724a8d403484d9531276d1670c87390e0e4d1d3f92b14cca6e4a2445ea3016b786ecd4
+  languageName: node
+  linkType: hard
+
 "source-map-support@npm:~0.5.20":
   version: 0.5.21
   resolution: "source-map-support@npm:0.5.21"
@@ -15275,15 +12559,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"source-map@npm:0.8.0-beta.0, source-map@npm:^0.8.0-beta.0":
-  version: 0.8.0-beta.0
-  resolution: "source-map@npm:0.8.0-beta.0"
-  dependencies:
-    whatwg-url: ^7.0.0
-  checksum: e94169be6461ab0ac0913313ad1719a14c60d402bd22b0ad96f4a6cffd79130d91ab5df0a5336a326b04d2df131c1409f563c9dc0d21a6ca6239a44b6c8dbd92
-  languageName: node
-  linkType: hard
-
 "source-map@npm:^0.5.0":
   version: 0.5.7
   resolution: "source-map@npm:0.5.7"
@@ -15291,13 +12566,22 @@ __metadata:
   languageName: node
   linkType: hard
 
-"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1":
+"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0":
   version: 0.6.1
   resolution: "source-map@npm:0.6.1"
   checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2
   languageName: node
   linkType: hard
 
+"source-map@npm:^0.8.0-beta.0":
+  version: 0.8.0-beta.0
+  resolution: "source-map@npm:0.8.0-beta.0"
+  dependencies:
+    whatwg-url: ^7.0.0
+  checksum: e94169be6461ab0ac0913313ad1719a14c60d402bd22b0ad96f4a6cffd79130d91ab5df0a5336a326b04d2df131c1409f563c9dc0d21a6ca6239a44b6c8dbd92
+  languageName: node
+  linkType: hard
+
 "sourcemap-codec@npm:^1.4.8":
   version: 1.4.8
   resolution: "sourcemap-codec@npm:1.4.8"
@@ -15389,26 +12673,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"sqs-consumer@npm:^5.7.0":
-  version: 5.7.0
-  resolution: "sqs-consumer@npm:5.7.0"
-  dependencies:
-    debug: ^4.3.1
-  peerDependencies:
-    aws-sdk: ^2.1114.0
-  checksum: d1eb00cbc509bfdef7bb42b649aed834daec5a9a7ac505f7a3d2e16e1e5e10f83378ca43736a13f8fab2fda91ed8551d806569bb6e9c38c057889a4717e2b621
-  languageName: node
-  linkType: hard
-
-"sqs-producer@npm:^2.1.0":
-  version: 2.1.0
-  resolution: "sqs-producer@npm:2.1.0"
-  dependencies:
-    aws-sdk: ^2.673.0
-  checksum: 110caa6d82ec45131b82993a65cf5544293c74b73cccd676d2c0a1ffc9e9b6e4fa29803f0dc0415fa2e0394fcfb761cd6e783d30d5737482297b875c445b9a7d
-  languageName: node
-  linkType: hard
-
 "ssri@npm:^9.0.0":
   version: 9.0.1
   resolution: "ssri@npm:9.0.1"
@@ -15425,13 +12689,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"standard-as-callback@npm:^2.1.0":
-  version: 2.1.0
-  resolution: "standard-as-callback@npm:2.1.0"
-  checksum: 88bec83ee220687c72d94fd86a98d5272c91d37ec64b66d830dbc0d79b62bfa6e47f53b71646011835fc9ce7fae62739545d13124262b53be4fbb3e2ebad551c
-  languageName: node
-  linkType: hard
-
 "state-toggle@npm:^1.0.0":
   version: 1.0.3
   resolution: "state-toggle@npm:1.0.3"
@@ -15646,15 +12903,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"strip-literal@npm:^0.4.2":
-  version: 0.4.2
-  resolution: "strip-literal@npm:0.4.2"
-  dependencies:
-    acorn: ^8.8.0
-  checksum: 831cdcaba61bc82c14ef5ca423a64bb8044b3b128abd15dff454d3fd05b0dbc7b4403760a7a636923d3c2e71a8e65174cef28ee9aef61f9a66819f865da4fdda
-  languageName: node
-  linkType: hard
-
 "style-to-object@npm:0.3.0, style-to-object@npm:^0.3.0":
   version: 0.3.0
   resolution: "style-to-object@npm:0.3.0"
@@ -15676,23 +12924,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"sucrase@npm:^3.20.3":
-  version: 3.28.0
-  resolution: "sucrase@npm:3.28.0"
-  dependencies:
-    commander: ^4.0.0
-    glob: 7.1.6
-    lines-and-columns: ^1.1.6
-    mz: ^2.7.0
-    pirates: ^4.0.1
-    ts-interface-checker: ^0.1.9
-  bin:
-    sucrase: bin/sucrase
-    sucrase-node: bin/sucrase-node
-  checksum: 6a2369c140cee674988ebcf83538f38b11270e47ebaffc811baabe1db3fc586f1a357d4bbc66388a6b99054ba06a08f31b44b764e777abbd457b9e29332b12d0
-  languageName: node
-  linkType: hard
-
 "supports-color@npm:^5.3.0":
   version: 5.5.0
   resolution: "supports-color@npm:5.5.0"
@@ -15760,13 +12991,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"symbol-tree@npm:^3.2.4":
-  version: 3.2.4
-  resolution: "symbol-tree@npm:3.2.4"
-  checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d
-  languageName: node
-  linkType: hard
-
 "tapable@npm:^1.0.0":
   version: 1.1.3
   resolution: "tapable@npm:1.1.3"
@@ -15850,17 +13074,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"test-exclude@npm:^6.0.0":
-  version: 6.0.0
-  resolution: "test-exclude@npm:6.0.0"
-  dependencies:
-    "@istanbuljs/schema": ^0.1.2
-    glob: ^7.1.4
-    minimatch: ^3.0.4
-  checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28
-  languageName: node
-  linkType: hard
-
 "text-extensions@npm:^1.0.0":
   version: 1.9.0
   resolution: "text-extensions@npm:1.9.0"
@@ -15875,24 +13088,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"thenify-all@npm:^1.0.0":
-  version: 1.6.0
-  resolution: "thenify-all@npm:1.6.0"
-  dependencies:
-    thenify: ">= 3.1.0 < 4"
-  checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e
-  languageName: node
-  linkType: hard
-
-"thenify@npm:>= 3.1.0 < 4":
-  version: 3.3.1
-  resolution: "thenify@npm:3.3.1"
-  dependencies:
-    any-promise: ^1.0.0
-  checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e
-  languageName: node
-  linkType: hard
-
 "through2@npm:^4.0.0":
   version: 4.0.2
   resolution: "through2@npm:4.0.2"
@@ -15917,37 +13112,16 @@ __metadata:
   linkType: hard
 
 "tiny-invariant@npm:^1.0.2":
-  version: 1.3.1
-  resolution: "tiny-invariant@npm:1.3.1"
-  checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c
-  languageName: node
-  linkType: hard
-
-"tiny-warning@npm:^1.0.0":
-  version: 1.0.3
-  resolution: "tiny-warning@npm:1.0.3"
-  checksum: da62c4acac565902f0624b123eed6dd3509bc9a8d30c06e017104bedcf5d35810da8ff72864400ad19c5c7806fc0a8323c68baf3e326af7cb7d969f846100d71
-  languageName: node
-  linkType: hard
-
-"tinybench@npm:^2.3.0":
-  version: 2.3.1
-  resolution: "tinybench@npm:2.3.1"
-  checksum: 74d45fa546d964a8123f98847fc59550945ed7f0d3e5a4ce0f9596d836b51c1d340c2ae0277a8023c15dc9ea3d7cb948a79173bfc46338c9b367c6323ea1eaf3
-  languageName: node
-  linkType: hard
-
-"tinypool@npm:^0.3.0":
-  version: 0.3.0
-  resolution: "tinypool@npm:0.3.0"
-  checksum: 92291c309ed8d004c1ee1ef7f610cd90352383f12c52b0ec16abd9ebc665c03626e7afbc9993df97f63e67fea002b5cc18ba5e8f90260643867cbcac278a183c
+  version: 1.3.1
+  resolution: "tiny-invariant@npm:1.3.1"
+  checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c
   languageName: node
   linkType: hard
 
-"tinyspy@npm:^1.0.2":
-  version: 1.0.2
-  resolution: "tinyspy@npm:1.0.2"
-  checksum: 32096121aa8d52bb625ad62c9314b3e4daba4ab9ac428217b12b1e1dfe9860e3c94d54a7affa279cc70dc6f10d88c6ba46b51de68896b318a06d02f05e87dcc3
+"tiny-warning@npm:^1.0.0":
+  version: 1.0.3
+  resolution: "tiny-warning@npm:1.0.3"
+  checksum: da62c4acac565902f0624b123eed6dd3509bc9a8d30c06e017104bedcf5d35810da8ff72864400ad19c5c7806fc0a8323c68baf3e326af7cb7d969f846100d71
   languageName: node
   linkType: hard
 
@@ -16006,18 +13180,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tough-cookie@npm:^4.1.2":
-  version: 4.1.2
-  resolution: "tough-cookie@npm:4.1.2"
-  dependencies:
-    psl: ^1.1.33
-    punycode: ^2.1.1
-    universalify: ^0.2.0
-    url-parse: ^1.5.3
-  checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a
-  languageName: node
-  linkType: hard
-
 "tr46@npm:^1.0.1":
   version: 1.0.1
   resolution: "tr46@npm:1.0.1"
@@ -16027,15 +13189,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tr46@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "tr46@npm:3.0.0"
-  dependencies:
-    punycode: ^2.1.1
-  checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270
-  languageName: node
-  linkType: hard
-
 "tr46@npm:~0.0.3":
   version: 0.0.3
   resolution: "tr46@npm:0.0.3"
@@ -16043,15 +13196,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tree-kill@npm:^1.2.2":
-  version: 1.2.2
-  resolution: "tree-kill@npm:1.2.2"
-  bin:
-    tree-kill: cli.js
-  checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7
-  languageName: node
-  linkType: hard
-
 "trim-newlines@npm:^3.0.0":
   version: 3.0.1
   resolution: "trim-newlines@npm:3.0.1"
@@ -16080,21 +13224,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ts-interface-checker@npm:^0.1.9":
-  version: 0.1.13
-  resolution: "ts-interface-checker@npm:0.1.13"
-  checksum: 20c29189c2dd6067a8775e07823ddf8d59a33e2ffc47a1bd59a5cb28bb0121a2969a816d5e77eda2ed85b18171aa5d1c4005a6b88ae8499ec7cc49f78571cb5e
-  languageName: node
-  linkType: hard
-
-"ts-mixer@npm:^6.0.1":
-  version: 6.0.1
-  resolution: "ts-mixer@npm:6.0.1"
-  checksum: 7050f6e85a24155d18cecdcc0a098d1038991cc498317fcffa9d7a8654c776d417fb97e65de1ce8e7ed54ef4814abd8057d0efb9c3b24e9cc78ac3c0f48bbf53
-  languageName: node
-  linkType: hard
-
-"ts-node@npm:^10.8.1, ts-node@npm:^10.9.1":
+"ts-node@npm:^10.8.1":
   version: 10.9.1
   resolution: "ts-node@npm:10.9.1"
   dependencies:
@@ -16144,13 +13274,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tslib@npm:2.x, tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0":
-  version: 2.4.0
-  resolution: "tslib@npm:2.4.0"
-  checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113
-  languageName: node
-  linkType: hard
-
 "tslib@npm:^1.8.1":
   version: 1.14.1
   resolution: "tslib@npm:1.14.1"
@@ -16158,39 +13281,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tsup@npm:^6.2.3, tsup@npm:^6.3.0":
-  version: 6.3.0
-  resolution: "tsup@npm:6.3.0"
-  dependencies:
-    bundle-require: ^3.1.0
-    cac: ^6.7.12
-    chokidar: ^3.5.1
-    debug: ^4.3.1
-    esbuild: ^0.15.1
-    execa: ^5.0.0
-    globby: ^11.0.3
-    joycon: ^3.0.1
-    postcss-load-config: ^3.0.1
-    resolve-from: ^5.0.0
-    rollup: ^2.74.1
-    source-map: 0.8.0-beta.0
-    sucrase: ^3.20.3
-    tree-kill: ^1.2.2
-  peerDependencies:
-    "@swc/core": ^1
-    postcss: ^8.4.12
-    typescript: ^4.1.0
-  peerDependenciesMeta:
-    "@swc/core":
-      optional: true
-    postcss:
-      optional: true
-    typescript:
-      optional: true
-  bin:
-    tsup: dist/cli-default.js
-    tsup-node: dist/cli-node.js
-  checksum: f1fccd555a77ff82b3b3d4ce28188f5703695af5e9d593a4edcfc3807cbebb5b04e619ad9ae0b0c92830cbbcbf6d76356365a8986ebe82d7389151a4f66a6c49
+"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0":
+  version: 2.4.0
+  resolution: "tslib@npm:2.4.0"
+  checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113
   languageName: node
   linkType: hard
 
@@ -16205,84 +13299,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tunnel@npm:^0.0.6":
-  version: 0.0.6
-  resolution: "tunnel@npm:0.0.6"
-  checksum: c362948df9ad34b649b5585e54ce2838fa583aa3037091aaed66793c65b423a264e5229f0d7e9a95513a795ac2bd4cb72cda7e89a74313f182c1e9ae0b0994fa
-  languageName: node
-  linkType: hard
-
-"turbo-darwin-64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-darwin-64@npm:1.6.1"
-  conditions: os=darwin & cpu=x64
-  languageName: node
-  linkType: hard
-
-"turbo-darwin-arm64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-darwin-arm64@npm:1.6.1"
-  conditions: os=darwin & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"turbo-linux-64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-linux-64@npm:1.6.1"
-  conditions: os=linux & cpu=x64
-  languageName: node
-  linkType: hard
-
-"turbo-linux-arm64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-linux-arm64@npm:1.6.1"
-  conditions: os=linux & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"turbo-windows-64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-windows-64@npm:1.6.1"
-  conditions: os=win32 & cpu=x64
-  languageName: node
-  linkType: hard
-
-"turbo-windows-arm64@npm:1.6.1":
-  version: 1.6.1
-  resolution: "turbo-windows-arm64@npm:1.6.1"
-  conditions: os=win32 & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"turbo@npm:^1.5.6":
-  version: 1.6.1
-  resolution: "turbo@npm:1.6.1"
-  dependencies:
-    turbo-darwin-64: 1.6.1
-    turbo-darwin-arm64: 1.6.1
-    turbo-linux-64: 1.6.1
-    turbo-linux-arm64: 1.6.1
-    turbo-windows-64: 1.6.1
-    turbo-windows-arm64: 1.6.1
-  dependenciesMeta:
-    turbo-darwin-64:
-      optional: true
-    turbo-darwin-arm64:
-      optional: true
-    turbo-linux-64:
-      optional: true
-    turbo-linux-arm64:
-      optional: true
-    turbo-windows-64:
-      optional: true
-    turbo-windows-arm64:
-      optional: true
-  bin:
-    turbo: bin/turbo
-  checksum: 45e89ff34d877c28181e4b61e0f7bca792c88b0446eb2fbdfe433119cf70a4d4897c8c62744f687aea597161387de80a3fed606eb8b8857cb6c6ab3ad563681e
-  languageName: node
-  linkType: hard
-
 "type-check@npm:^0.4.0, type-check@npm:~0.4.0":
   version: 0.4.0
   resolution: "type-check@npm:0.4.0"
@@ -16292,22 +13308,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"type-check@npm:~0.3.2":
-  version: 0.3.2
-  resolution: "type-check@npm:0.3.2"
-  dependencies:
-    prelude-ls: ~1.1.2
-  checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124
-  languageName: node
-  linkType: hard
-
-"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5":
-  version: 4.0.8
-  resolution: "type-detect@npm:4.0.8"
-  checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15
-  languageName: node
-  linkType: hard
-
 "type-fest@npm:^0.16.0":
   version: 0.16.0
   resolution: "type-fest@npm:0.16.0"
@@ -16376,16 +13376,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"typedarray@npm:^0.0.6":
-  version: 0.0.6
-  resolution: "typedarray@npm:0.0.6"
-  checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1
-  languageName: node
-  linkType: hard
-
-"typedoc-json-parser@npm:^6.0.0":
-  version: 6.0.1
-  resolution: "typedoc-json-parser@npm:6.0.1"
+"typedoc-json-parser@npm:^6.0.2":
+  version: 6.0.2
+  resolution: "typedoc-json-parser@npm:6.0.2"
   dependencies:
     "@favware/colorette-spinner": ^1.0.1
     "@sapphire/node-utilities": ^1.0.0
@@ -16396,51 +13389,23 @@ __metadata:
     typedoc: ^0.23.16
   bin:
     typedoc-json-parser: ./dist/bin/index.js
-  checksum: 62dc5e575089e2bf093ffbe2be2ebbe9d53d832a05d8f5284dc1bcc32a007d35e3475032103176bbf1711f9e1937f6c1e272187acfff90befc2f610c0b965cc4
-  languageName: node
-  linkType: hard
-
-"typedoc-plugin-djs-links@npm:^1.2.0":
-  version: 1.2.0
-  resolution: "typedoc-plugin-djs-links@npm:1.2.0"
-  checksum: 0f54136a4efebbdc689273d933ac70fc4d36df7c7b67179a86077678a152e3add6be3bc7c0633f66bea1b32a69bd18ac49b8812ab7aeca57a66fd042ce6b5a91
-  languageName: node
-  linkType: hard
-
-"typedoc-plugin-markdown@npm:^3.13.6":
-  version: 3.13.6
-  resolution: "typedoc-plugin-markdown@npm:3.13.6"
-  dependencies:
-    handlebars: ^4.7.7
-  peerDependencies:
-    typedoc: ">=0.23.0"
-  checksum: eae59997759f485b2a6f2c306dc6de47dc0b008acc4651d66a24b8ba31fc7fd7729b69ba0b1235aaab268931701510ef5af88588f9b3ea124166a2ca7b63f954
-  languageName: node
-  linkType: hard
-
-"typedoc-plugin-mdn-links@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "typedoc-plugin-mdn-links@npm:2.0.0"
-  peerDependencies:
-    typedoc: 0.22.x || 0.23.x
-  checksum: 576cc61935f25f5e91ef0e9582822e9548336297b160e63d284d41f703d6fa8e000b1b9fc7083e35fecf8895d94213326f9513dbc761f3a60c228aedca488328
+  checksum: 4e8a5e84729d14dc98f24181d90d44d914f92ef119e0ce005b62d051a15c7bef096fd2badff99f7215511bc854a8d13807163ef6f06d294490e80fd9f63e693d
   languageName: node
   linkType: hard
 
-"typedoc@npm:0.22.17":
-  version: 0.22.17
-  resolution: "typedoc@npm:0.22.17"
+"typedoc@npm:^0.23.16":
+  version: 0.23.17
+  resolution: "typedoc@npm:0.23.17"
   dependencies:
-    glob: ^8.0.3
     lunr: ^2.3.9
-    marked: ^4.0.16
+    marked: ^4.0.19
     minimatch: ^5.1.0
-    shiki: ^0.10.1
+    shiki: ^0.11.1
   peerDependencies:
-    typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x || 4.7.x
+    typescript: 4.6.x || 4.7.x || 4.8.x
   bin:
     typedoc: bin/typedoc
-  checksum: 3a2f492477989855fa43afc0ebfb84dca819436ec5c868ca175cb02485c6347c04dbb2d11669a8be04fc6860a8f3d29d124300b5718ba17174622ace29a0276a
+  checksum: 9bfcfa762205f42645a5c545cf75399346663209e1f91f3e630880a6f48a5676a2efab23305df7aca69c6fe19bd4b1c42470bf39b95a369811f6eb4d5a8549e8
   languageName: node
   linkType: hard
 
@@ -16478,15 +13443,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"uglify-js@npm:^3.1.4":
-  version: 3.17.3
-  resolution: "uglify-js@npm:3.17.3"
-  bin:
-    uglifyjs: bin/uglifyjs
-  checksum: 2650b2e0385fe6bf68bc0b7746028fd004bbe839447c28a59f8a9e458187e897a5057900cb715b3be4cf7cf3f1d10217198210c5c23c0bffcb20feca2de5bb17
-  languageName: node
-  linkType: hard
-
 "unbox-primitive@npm:^1.0.2":
   version: 1.0.2
   resolution: "unbox-primitive@npm:1.0.2"
@@ -16671,13 +13627,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"universalify@npm:^0.2.0":
-  version: 0.2.0
-  resolution: "universalify@npm:0.2.0"
-  checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5
-  languageName: node
-  linkType: hard
-
 "universalify@npm:^2.0.0":
   version: 2.0.0
   resolution: "universalify@npm:2.0.0"
@@ -16770,26 +13719,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"url-parse@npm:^1.5.3":
-  version: 1.5.10
-  resolution: "url-parse@npm:1.5.10"
-  dependencies:
-    querystringify: ^2.1.1
-    requires-port: ^1.0.0
-  checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf
-  languageName: node
-  linkType: hard
-
-"url@npm:0.10.3":
-  version: 0.10.3
-  resolution: "url@npm:0.10.3"
-  dependencies:
-    punycode: 1.3.2
-    querystring: 0.2.0
-  checksum: 7b83ddb106c27bf9bde8629ccbe8d26e9db789c8cda5aa7db72ca2c6f9b8a88a5adf206f3e10db78e6e2d042b327c45db34c7010c1bf0d9908936a17a2b57d05
-  languageName: node
-  linkType: hard
-
 "use-composed-ref@npm:^1.3.0":
   version: 1.3.0
   resolution: "use-composed-ref@npm:1.3.0"
@@ -16832,28 +13761,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"util@npm:0.10.3":
-  version: 0.10.3
-  resolution: "util@npm:0.10.3"
-  dependencies:
-    inherits: 2.0.1
-  checksum: bd800f5d237a82caddb61723a6cbe45297d25dd258651a31335a4d5d981fd033cb4771f82db3d5d59b582b187cb69cfe727dc6f4d8d7826f686ee6c07ce611e0
-  languageName: node
-  linkType: hard
-
-"util@npm:^0.12.4":
-  version: 0.12.5
-  resolution: "util@npm:0.12.5"
-  dependencies:
-    inherits: ^2.0.3
-    is-arguments: ^1.0.4
-    is-generator-function: ^1.0.7
-    is-typed-array: ^1.1.3
-    which-typed-array: ^1.1.2
-  checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a
-  languageName: node
-  linkType: hard
-
 "utila@npm:~0.4":
   version: 0.4.0
   resolution: "utila@npm:0.4.0"
@@ -16875,15 +13782,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"uuid@npm:8.0.0":
-  version: 8.0.0
-  resolution: "uuid@npm:8.0.0"
-  bin:
-    uuid: dist/bin/uuid
-  checksum: 56d4e23aa7ac26fa2db6bd1778db34cb8c9f5a10df1770a27167874bf6705fc8f14a4ac414af58a0d96c7653b2bd4848510b29d1c2ef8c91ccb17429c1872b5e
-  languageName: node
-  linkType: hard
-
 "uuid@npm:^8.3.2":
   version: 8.3.2
   resolution: "uuid@npm:8.3.2"
@@ -16893,15 +13791,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"uuid@npm:^9.0.0":
-  version: 9.0.0
-  resolution: "uuid@npm:9.0.0"
-  bin:
-    uuid: dist/bin/uuid
-  checksum: 8dd2c83c43ddc7e1c71e36b60aea40030a6505139af6bee0f382ebcd1a56f6cd3028f7f06ffb07f8cf6ced320b76aea275284b224b002b289f89fe89c389b028
-  languageName: node
-  linkType: hard
-
 "v8-compile-cache-lib@npm:^3.0.1":
   version: 3.0.1
   resolution: "v8-compile-cache-lib@npm:3.0.1"
@@ -16909,17 +13798,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"v8-to-istanbul@npm:^9.0.0":
-  version: 9.0.1
-  resolution: "v8-to-istanbul@npm:9.0.1"
-  dependencies:
-    "@jridgewell/trace-mapping": ^0.3.12
-    "@types/istanbul-lib-coverage": ^2.0.1
-    convert-source-map: ^1.6.0
-  checksum: a49c34bf0a3af0c11041a3952a2600913904a983bd1bc87148b5c033bc5c1d02d5a13620fcdbfa2c60bc582a2e2970185780f0c844b4c3a220abf405f8af6311
-  languageName: node
-  linkType: hard
-
 "validate-npm-package-license@npm:^3.0.1":
   version: 3.0.4
   resolution: "validate-npm-package-license@npm:3.0.4"
@@ -16930,15 +13808,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"validate-npm-package-name@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "validate-npm-package-name@npm:4.0.0"
-  dependencies:
-    builtins: ^5.0.0
-  checksum: a32fd537bad17fcb59cfd58ae95a414d443866020d448ec3b22e8d40550cb585026582a57efbe1f132b882eea4da8ac38ee35f7be0dd72988a3cb55d305a20c1
-  languageName: node
-  linkType: hard
-
 "value-equal@npm:^1.0.1":
   version: 1.0.1
   resolution: "value-equal@npm:1.0.1"
@@ -16982,76 +13851,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"vite@npm:^3.0.0":
-  version: 3.1.8
-  resolution: "vite@npm:3.1.8"
-  dependencies:
-    esbuild: ^0.15.9
-    fsevents: ~2.3.2
-    postcss: ^8.4.16
-    resolve: ^1.22.1
-    rollup: ~2.78.0
-  peerDependencies:
-    less: "*"
-    sass: "*"
-    stylus: "*"
-    terser: ^5.4.0
-  dependenciesMeta:
-    fsevents:
-      optional: true
-  peerDependenciesMeta:
-    less:
-      optional: true
-    sass:
-      optional: true
-    stylus:
-      optional: true
-    terser:
-      optional: true
-  bin:
-    vite: bin/vite.js
-  checksum: 982696ad134577dd9915c4c3548ad36ddcf5dc6d341058548a670a13d860e4cdaaf2b320a59221f178018df089d148b9980e9a344316bef12b698a1c1abc7390
-  languageName: node
-  linkType: hard
-
-"vitest@npm:0.24.3, vitest@npm:^0.24.3":
-  version: 0.24.3
-  resolution: "vitest@npm:0.24.3"
-  dependencies:
-    "@types/chai": ^4.3.3
-    "@types/chai-subset": ^1.3.3
-    "@types/node": "*"
-    chai: ^4.3.6
-    debug: ^4.3.4
-    local-pkg: ^0.4.2
-    strip-literal: ^0.4.2
-    tinybench: ^2.3.0
-    tinypool: ^0.3.0
-    tinyspy: ^1.0.2
-    vite: ^3.0.0
-  peerDependencies:
-    "@edge-runtime/vm": "*"
-    "@vitest/browser": "*"
-    "@vitest/ui": "*"
-    happy-dom: "*"
-    jsdom: "*"
-  peerDependenciesMeta:
-    "@edge-runtime/vm":
-      optional: true
-    "@vitest/browser":
-      optional: true
-    "@vitest/ui":
-      optional: true
-    happy-dom:
-      optional: true
-    jsdom:
-      optional: true
-  bin:
-    vitest: vitest.mjs
-  checksum: dd954f57396b81df466dd4346aa6c95709a1b3c2409d5526d3172fa34ec684f756a855f885778929a6b903a22b2517ff79d22f936fb3e4d7d54ff24e8e577459
-  languageName: node
-  linkType: hard
-
 "vscode-oniguruma@npm:^1.6.1":
   version: 1.6.2
   resolution: "vscode-oniguruma@npm:1.6.2"
@@ -17059,19 +13858,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"vscode-textmate@npm:5.2.0":
-  version: 5.2.0
-  resolution: "vscode-textmate@npm:5.2.0"
-  checksum: 5449b42d451080f6f3649b66948f4b5ee4643c4e88cfe3558a3b31c84c78060cfdd288c4958c1690eaa5cd65d09992fa6b7c3bef9d4aa72b3651054a04624d20
-  languageName: node
-  linkType: hard
-
-"w3c-xmlserializer@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "w3c-xmlserializer@npm:3.0.0"
-  dependencies:
-    xml-name-validator: ^4.0.0
-  checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2
+"vscode-textmate@npm:^6.0.0":
+  version: 6.0.0
+  resolution: "vscode-textmate@npm:6.0.0"
+  checksum: ff6f17a406c2906586afc14ef01cb122e33acd35312e815abb5c924347a777c6783ce3fe7db8b83f1760ebf843c669843b9390f905b69c433b3395af28e4b483
   languageName: node
   linkType: hard
 
@@ -17139,13 +13929,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"webidl-conversions@npm:^7.0.0":
-  version: 7.0.0
-  resolution: "webidl-conversions@npm:7.0.0"
-  checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b
-  languageName: node
-  linkType: hard
-
 "webpack-bundle-analyzer@npm:^4.5.0":
   version: 4.6.1
   resolution: "webpack-bundle-analyzer@npm:4.6.1"
@@ -17310,32 +14093,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"whatwg-encoding@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "whatwg-encoding@npm:2.0.0"
-  dependencies:
-    iconv-lite: 0.6.3
-  checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675
-  languageName: node
-  linkType: hard
-
-"whatwg-mimetype@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "whatwg-mimetype@npm:3.0.0"
-  checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824
-  languageName: node
-  linkType: hard
-
-"whatwg-url@npm:^11.0.0":
-  version: 11.0.0
-  resolution: "whatwg-url@npm:11.0.0"
-  dependencies:
-    tr46: ^3.0.0
-    webidl-conversions: ^7.0.0
-  checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af
-  languageName: node
-  linkType: hard
-
 "whatwg-url@npm:^5.0.0":
   version: 5.0.0
   resolution: "whatwg-url@npm:5.0.0"
@@ -17370,20 +14127,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"which-typed-array@npm:^1.1.2":
-  version: 1.1.8
-  resolution: "which-typed-array@npm:1.1.8"
-  dependencies:
-    available-typed-arrays: ^1.0.5
-    call-bind: ^1.0.2
-    es-abstract: ^1.20.0
-    for-each: ^0.3.3
-    has-tostringtag: ^1.0.0
-    is-typed-array: ^1.1.9
-  checksum: bedf4d30a738e848404fe67fe0ace33433a7298cf3f5a4d4b2c624ba99c4d25f06a7fd6f3566c3d16af5f8a54f0c6293cbfded5b1208ce11812753990223b45a
-  languageName: node
-  linkType: hard
-
 "which@npm:^1.2.14, which@npm:^1.3.1":
   version: 1.3.1
   resolution: "which@npm:1.3.1"
@@ -17406,7 +14149,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5":
+"wide-align@npm:^1.1.5":
   version: 1.1.5
   resolution: "wide-align@npm:1.1.5"
   dependencies:
@@ -17440,20 +14183,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"word-wrap@npm:^1.0.3, word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3":
+"word-wrap@npm:^1.0.3, word-wrap@npm:^1.2.3":
   version: 1.2.3
   resolution: "word-wrap@npm:1.2.3"
   checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f
   languageName: node
   linkType: hard
 
-"wordwrap@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "wordwrap@npm:1.0.0"
-  checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04
-  languageName: node
-  linkType: hard
-
 "workbox-background-sync@npm:6.5.4":
   version: 6.5.4
   resolution: "workbox-background-sync@npm:6.5.4"
@@ -17711,7 +14447,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ws@npm:^8.4.2, ws@npm:^8.9.0":
+"ws@npm:^8.4.2":
   version: 8.9.0
   resolution: "ws@npm:8.9.0"
   peerDependencies:
@@ -17744,37 +14480,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"xml-name-validator@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "xml-name-validator@npm:4.0.0"
-  checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad
-  languageName: node
-  linkType: hard
-
-"xml2js@npm:0.4.19":
-  version: 0.4.19
-  resolution: "xml2js@npm:0.4.19"
-  dependencies:
-    sax: ">=0.6.0"
-    xmlbuilder: ~9.0.1
-  checksum: ca8b2fee430d450a18947786bfd7cd1a353ee00fc6fd550acbc8a8e65f1b4df5e9786fcb2990c1a5514ecd554d445fb74e1d716b3a4fcfffc10554aeb5db482b
-  languageName: node
-  linkType: hard
-
-"xmlbuilder@npm:~9.0.1":
-  version: 9.0.7
-  resolution: "xmlbuilder@npm:9.0.7"
-  checksum: 8193bb323806a002764f013bea0c6e9ff2dc26fd29109408761b16b59a8ad2214c2abe8e691755fd8b525586e3a0e1efeb92335947d7b0899032b779f1705a53
-  languageName: node
-  linkType: hard
-
-"xmlchars@npm:^2.2.0":
-  version: 2.2.0
-  resolution: "xmlchars@npm:2.2.0"
-  checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062
-  languageName: node
-  linkType: hard
-
 "xtend@npm:^4.0.0, xtend@npm:^4.0.1":
   version: 4.0.2
   resolution: "xtend@npm:4.0.2"
@@ -17817,7 +14522,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9":
+"yargs-parser@npm:^20.2.3":
   version: 20.2.9
   resolution: "yargs-parser@npm:20.2.9"
   checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3
@@ -17831,22 +14536,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"yargs@npm:^16.2.0":
-  version: 16.2.0
-  resolution: "yargs@npm:16.2.0"
-  dependencies:
-    cliui: ^7.0.2
-    escalade: ^3.1.1
-    get-caller-file: ^2.0.5
-    require-directory: ^2.1.1
-    string-width: ^4.2.0
-    y18n: ^5.0.5
-    yargs-parser: ^20.2.2
-  checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59
-  languageName: node
-  linkType: hard
-
-"yargs@npm:^17.0.0, yargs@npm:^17.2.1":
+"yargs@npm:^17.0.0":
   version: 17.6.0
   resolution: "yargs@npm:17.6.0"
   dependencies: