@wolfstar/plugin-gateway 0.11.0 → 0.12.0-next-20261006120808

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -813,6 +813,38 @@ interface Cache<Value extends StructureMixin<object>, Raw extends RawAPIType<Val
813
813
  */
814
814
  set(key: string, value: Value): Awaitable<this>;
815
815
  }
816
+ /**
817
+ * The cache of the manager of one channel or thread: the keyed methods of the {@link Cache} it reads, taking the ID
818
+ * of the entity alone instead of the key built by `resolveKey`, like the caches of discord.js's channel managers.
819
+ *
820
+ * @typeParam Value The structure the cache hands out.
821
+ */
822
+ interface ScopedCache<Value extends StructureMixin<object>> {
823
+ /**
824
+ * Whether every method answers synchronously, never with a promise.
825
+ */
826
+ readonly synchronous: boolean;
827
+ /**
828
+ * Deletes an item from the cache.
829
+ */
830
+ delete(id: string): Awaitable<boolean>;
831
+ /**
832
+ * Retrieves an item from the cache.
833
+ */
834
+ get(id: string): Awaitable<Value | undefined>;
835
+ /**
836
+ * Checks if an item exists in the cache.
837
+ */
838
+ has(id: string): Awaitable<boolean>;
839
+ }
840
+ /**
841
+ * Scopes a {@link Cache} keyed by more than an ID to the entries of one parent.
842
+ *
843
+ * @param cache The cache.
844
+ * @param resolveKey Builds the key of the cache from the ID of an entity.
845
+ * @internal
846
+ */
847
+ declare function scopeCache<Value extends StructureMixin<object>>(cache: Cache<Value>, resolveKey: (id: string) => string): ScopedCache<Value>;
816
848
  /**
817
849
  * The options of the cache of one entity, set per entity through the client's `cacheOptions` option.
818
850
  */
@@ -1000,6 +1032,10 @@ export declare abstract class DataManager<Value extends StructureMixin<object>,
1000
1032
  * @param args The arguments identifying the entity.
1001
1033
  */
1002
1034
  abstract resolveKey(...args: Args): string;
1035
+ /**
1036
+ * The cache of the items this manager holds, like discord.js's `DataManager#valueOf`.
1037
+ */
1038
+ valueOf(): Cache<Value>;
1003
1039
  /**
1004
1040
  * Resolves a structure or a cache key to a structure.
1005
1041
  *
@@ -1047,6 +1083,35 @@ export interface AddOptions {
1047
1083
  */
1048
1084
  extras?: unknown[];
1049
1085
  }
1086
+ /**
1087
+ * The arguments of a method of a manager the client holds for every guild: they start with the guild's ID, which a
1088
+ * manager built for one guild (`guild.members`, `client.guilds.members(guildId)`) fills in.
1089
+ *
1090
+ * @typeParam InGuild Whether the manager was built for one guild.
1091
+ * @typeParam Args The arguments after the guild's ID.
1092
+ */
1093
+ export type GuildArgs<InGuild extends boolean, Args extends readonly unknown[]> = InGuild extends true ? Args : [guildId: string, ...Args];
1094
+ /**
1095
+ * Types the arguments of a method declared with {@link GuildArgs}, which always start with the guild's ID once
1096
+ * {@link fillGuildId} filled it in.
1097
+ *
1098
+ * @param args The arguments of the method.
1099
+ * @internal
1100
+ */
1101
+ export declare function withGuildId<Args extends readonly unknown[]>(args: readonly unknown[]): [guildId: string, ...Args];
1102
+ /**
1103
+ * Makes methods of a manager the client holds for every guild fill in the guild's ID: on an instance built for one
1104
+ * guild, they call the client's manager, which holds the state and the cache, with that ID first.
1105
+ *
1106
+ * @param target The class of the manager.
1107
+ * @param getManager Gets the client's manager.
1108
+ * @param methods The names of the methods taking the guild's ID first.
1109
+ * @internal
1110
+ */
1111
+ export declare function fillGuildId<Manager extends {
1112
+ client: GatewayClient;
1113
+ guildId: string | undefined;
1114
+ }>(target: abstract new (...args: any[]) => Manager, getManager: (client: GatewayClient) => object, methods: readonly string[]): void;
1050
1115
  /**
1051
1116
  * Manages the API methods of a data model with a mutable cache of instances: the `CachedManager` of the discord.js
1052
1117
  * RFC #11426.
@@ -1056,13 +1121,16 @@ export interface AddOptions {
1056
1121
  * `cacheConstructor` (`CollectionCache` by default) and shared by every manager of the same entity.
1057
1122
  *
1058
1123
  * Caches keyed by more than an ID take the key built by `resolveKey`:
1059
- * `client.members.cache.get(client.members.resolveKey(guildId, userId))`.
1124
+ * `client.members.cache.get(client.members.resolveKey(guildId, userId))`. The managers of a guild, a channel or a
1125
+ * thread take the ID alone: `guild.members.cache.get(userId)`.
1060
1126
  *
1061
1127
  * @typeParam Name The name of the entity this manager holds.
1062
1128
  * @typeParam Value The structure this manager builds.
1063
1129
  * @typeParam Args The arguments identifying an entity, e.g. `[id]` or `[guildId, userId]`.
1130
+ * @typeParam FetchArgs The arguments `fetch` and `refresh` take, which differ from `Args` on a manager built for one
1131
+ * guild.
1064
1132
  */
1065
- export declare abstract class CachedManager<Name extends CacheEntityName, Value extends StructureMixin<object>, Args extends readonly string[]> extends DataManager<Value, Args> {
1133
+ export declare abstract class CachedManager<Name extends CacheEntityName, Value extends StructureMixin<object>, Args extends readonly string[], FetchArgs extends readonly string[] = Args> extends DataManager<Value, Args> {
1066
1134
  /**
1067
1135
  * The cache of this manager's entity.
1068
1136
  *
@@ -1070,6 +1138,12 @@ export declare abstract class CachedManager<Name extends CacheEntityName, Value
1070
1138
  * ```typescript
1071
1139
  * const user = await client.users.cache.get(userId);
1072
1140
  * ```
1141
+ *
1142
+ * @remarks
1143
+ * On a manager built for one guild (`guild.members`), it is the client's cache taking the ID of the entity alone.
1144
+ * `get`, `has`, `set` and `delete` cost the same as on the client's; `getSize` and `clear` scan the keys of every
1145
+ * guild to find the ones of this guild, unlike discord.js's per-guild collections: avoid calling them for every
1146
+ * guild in a loop.
1073
1147
  */
1074
1148
  readonly cache: Cache<Value>;
1075
1149
  /**
@@ -1083,7 +1157,14 @@ export declare abstract class CachedManager<Name extends CacheEntityName, Value
1083
1157
  * @param extras The extra arguments passed to {@link CachedManager._add}.
1084
1158
  */
1085
1159
  protected abstract createStructure(data: CacheEntityTypes[Name], ...extras: unknown[]): Value;
1086
- constructor(client: GatewayClient, name: Name);
1160
+ /**
1161
+ * @param client The client.
1162
+ * @param name The name of the entity this manager holds.
1163
+ * @param guildId The guild whose entities {@link CachedManager.cache} is narrowed to, for the managers the client
1164
+ * holds for every guild.
1165
+ */
1166
+ constructor(client: GatewayClient, name: Name, guildId?: string);
1167
+ private createGuildCache;
1087
1168
  /**
1088
1169
  * Gets {@link CachedManager.cache} from the client. Managers whose entity spans several caches override it.
1089
1170
  */
@@ -1182,13 +1263,13 @@ export declare abstract class CachedManager<Name extends CacheEntityName, Value
1182
1263
  *
1183
1264
  * @param args The arguments identifying the entity, optionally followed by {@link FetchOptions}.
1184
1265
  */
1185
- fetch(...args: [...Args] | [...Args, FetchOptions]): Promise<Value>;
1266
+ fetch(...args: [...FetchArgs] | [...FetchArgs, FetchOptions]): Promise<Value>;
1186
1267
  /**
1187
1268
  * Fetches an entity from the API, bypassing and then updating the cache. Same as `fetch(...args, { force: true })`.
1188
1269
  *
1189
1270
  * @param args The arguments identifying the entity.
1190
1271
  */
1191
- refresh(...args: Args): Promise<Value>;
1272
+ refresh(...args: FetchArgs): Promise<Value>;
1192
1273
  /**
1193
1274
  * Gets the cache key of raw data.
1194
1275
  *
@@ -1359,6 +1440,13 @@ export interface ChannelPosition {
1359
1440
  export declare class GuildChannelManager extends BaseManager {
1360
1441
  readonly guildId: string;
1361
1442
  constructor(client: GatewayClient, guildId: string);
1443
+ /**
1444
+ * How many channels of the guild are cached, threads excluded: discord.js's `channelCountWithoutThreads`. A promise
1445
+ * with an asynchronous cache.
1446
+ *
1447
+ * @throws {TypeError} When the channel store cannot enumerate its entries.
1448
+ */
1449
+ get channelCountWithoutThreads(): CacheRead<number>;
1362
1450
  /**
1363
1451
  * Fetches every channel of the guild, threads excluded, and caches them.
1364
1452
  */
@@ -1807,9 +1895,18 @@ export declare class ThreadMemberManager extends CachedManager<"threadMembers",
1807
1895
  */
1808
1896
  export declare class ThreadChannelMemberManager extends BaseManager {
1809
1897
  readonly threadId: string;
1898
+ /**
1899
+ * The cached members of the thread, by user ID.
1900
+ *
1901
+ * @example
1902
+ * ```typescript
1903
+ * const member = await thread.members.cache.get(userId);
1904
+ * ```
1905
+ */
1906
+ readonly cache: ScopedCache<ThreadMember>;
1810
1907
  constructor(client: GatewayClient, threadId: string);
1811
1908
  /**
1812
- * Gets a member of the thread from the cache.
1909
+ * Gets a member of the thread from the cache. Same as `cache.get`, always answering a promise.
1813
1910
  */
1814
1911
  get(userId: string): Promise<ThreadMember | undefined>;
1815
1912
  /**
@@ -2277,6 +2374,14 @@ export declare class GuildEmojiManager extends CachedManager<"emojis", GuildEmoj
2277
2374
  _add(data: CacheEntityTypes["emojis"], cache?: boolean, options?: AddOptions): Promise<GuildEmoji>;
2278
2375
  _hydrate(data: CacheEntityTypes["emojis"]): Awaitable<GuildEmoji>;
2279
2376
  resolveKey(emojiId: string): string;
2377
+ /**
2378
+ * Resolves an emoji of the guild, or anything identifying one, to the identifier reaction routes expect, like
2379
+ * discord.js's `resolveIdentifier`.
2380
+ *
2381
+ * @param emoji An emoji, its ID, or anything {@link EmojiIdentifierResolvable}.
2382
+ * @returns The identifier, `null` when an ID is not a cached emoji of this guild.
2383
+ */
2384
+ resolveIdentifier(emoji: EmojiIdentifierResolvable): Awaitable<string | null>;
2280
2385
  /**
2281
2386
  * Fetches every emoji of the guild, and caches them.
2282
2387
  */
@@ -4499,9 +4604,18 @@ export declare class Message<InGuild extends boolean = boolean> extends Message$
4499
4604
  */
4500
4605
  export declare class ChannelMessageManager extends BaseManager {
4501
4606
  readonly channelId: string;
4607
+ /**
4608
+ * The cached messages of the channel, by message ID.
4609
+ *
4610
+ * @example
4611
+ * ```typescript
4612
+ * const message = await channel.messages.cache.get(messageId);
4613
+ * ```
4614
+ */
4615
+ readonly cache: ScopedCache<Message>;
4502
4616
  constructor(client: GatewayClient, channelId: string);
4503
4617
  /**
4504
- * Gets a message of the channel from the cache.
4618
+ * Gets a message of the channel from the cache. Same as `cache.get`, always answering a promise.
4505
4619
  */
4506
4620
  get(messageId: string): Promise<Message | undefined>;
4507
4621
  /**
@@ -6262,9 +6376,22 @@ export interface RolePosition {
6262
6376
  }
6263
6377
  /**
6264
6378
  * Manages the {@link Role}s known to the client.
6379
+ *
6380
+ * `guild.roles` (or `client.guilds.roles(guildId)`) is this manager built for one guild, like discord.js's:
6381
+ * `cache` takes the role's ID alone, and the methods lose their `guildId` argument.
6382
+ *
6383
+ * @typeParam InGuild Whether the manager was built for one guild.
6265
6384
  */
6266
- export declare class RoleManager extends CachedManager<"roles", Role, [guildId: string, roleId: string]> {
6267
- constructor(client: GatewayClient);
6385
+ export declare class RoleManager<InGuild extends boolean = false> extends CachedManager<"roles", Role, [guildId: string, roleId: string], GuildArgs<InGuild, [roleId: string]>> {
6386
+ /**
6387
+ * The ID of the guild this manager was built for, `undefined` on `client.roles`.
6388
+ */
6389
+ readonly guildId: InGuild extends true ? string : undefined;
6390
+ /**
6391
+ * @param client The client.
6392
+ * @param guildId The guild to build the manager for.
6393
+ */
6394
+ constructor(client: GatewayClient, guildId?: string);
6268
6395
  protected createStructure(data: CacheEntityTypes["roles"]): Role;
6269
6396
  keyOf(data: CacheEntityTypes["roles"]): string;
6270
6397
  _hydrate(data: CacheEntityTypes["roles"]): Awaitable<Role>;
@@ -6275,21 +6402,21 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6275
6402
  * @param guildId The ID of the guild.
6276
6403
  * @returns The roles, highest first.
6277
6404
  */
6278
- fetchAll(guildId: string): Promise<Role[]>;
6405
+ fetchAll(...args: GuildArgs<InGuild, []>): Promise<Role[]>;
6279
6406
  /**
6280
6407
  * Fetches how many members each role of a guild has, `@everyone` excluded.
6281
6408
  *
6282
6409
  * @param guildId The ID of the guild.
6283
6410
  * @returns The member count of every role, by role ID.
6284
6411
  */
6285
- fetchMemberCounts(guildId: string): Promise<Map<string, number>>;
6412
+ fetchMemberCounts(...args: GuildArgs<InGuild, []>): Promise<Map<string, number>>;
6286
6413
  /**
6287
6414
  * Creates a role.
6288
6415
  *
6289
6416
  * @param guildId The ID of the guild.
6290
6417
  * @param options The role's fields.
6291
6418
  */
6292
- create(guildId: string, options?: RoleEditOptions): Promise<Role>;
6419
+ create(...args: GuildArgs<InGuild, [options?: RoleEditOptions]>): Promise<Role>;
6293
6420
  /**
6294
6421
  * Edits a role.
6295
6422
  *
@@ -6297,7 +6424,7 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6297
6424
  * @param roleId The ID of the role.
6298
6425
  * @param options The fields to edit.
6299
6426
  */
6300
- edit(guildId: string, roleId: string, options: RoleEditOptions): Promise<Role>;
6427
+ edit(...args: GuildArgs<InGuild, [roleId: string, options: RoleEditOptions]>): Promise<Role>;
6301
6428
  /**
6302
6429
  * Deletes a role.
6303
6430
  *
@@ -6305,7 +6432,7 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6305
6432
  * @param roleId The ID of the role.
6306
6433
  * @param reason The reason for the audit log.
6307
6434
  */
6308
- delete(guildId: string, roleId: string, reason?: string): Promise<void>;
6435
+ delete(...args: GuildArgs<InGuild, [roleId: string, reason?: string]>): Promise<void>;
6309
6436
  /**
6310
6437
  * Moves a role among the roles of its guild, like discord.js's `RoleManager#setPosition`.
6311
6438
  *
@@ -6316,7 +6443,7 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6316
6443
  * @param options Whether the position is relative and the reason for the audit log, or the reason alone.
6317
6444
  * @returns Every role of the guild, highest first.
6318
6445
  */
6319
- setPosition(guildId: string, roleId: string, position: number, options?: SetPositionOptions | string): Promise<Role[]>;
6446
+ setPosition(...args: GuildArgs<InGuild, [roleId: string, position: number, options?: SetPositionOptions | string]>): Promise<Role[]>;
6320
6447
  /**
6321
6448
  * Moves several roles at once.
6322
6449
  *
@@ -6325,7 +6452,7 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6325
6452
  * @param reason The reason for the audit log.
6326
6453
  * @returns Every role of the guild, highest first.
6327
6454
  */
6328
- setPositions(guildId: string, positions: readonly RolePosition[], reason?: string): Promise<Role[]>;
6455
+ setPositions(...args: GuildArgs<InGuild, [positions: readonly RolePosition[], reason?: string]>): Promise<Role[]>;
6329
6456
  /**
6330
6457
  * Compares the positions of two roles.
6331
6458
  *
@@ -6337,26 +6464,26 @@ export declare class RoleManager extends CachedManager<"roles", Role, [guildId:
6337
6464
  *
6338
6465
  * @param guildId The ID of the guild.
6339
6466
  */
6340
- everyone(guildId: string): Promise<Role>;
6467
+ everyone(...args: GuildArgs<InGuild, []>): Promise<Role>;
6341
6468
  /**
6342
6469
  * Fetches the highest role of a guild.
6343
6470
  *
6344
6471
  * @param guildId The ID of the guild.
6345
6472
  */
6346
- highest(guildId: string): Promise<Role | null>;
6473
+ highest(...args: GuildArgs<InGuild, []>): Promise<Role | null>;
6347
6474
  /**
6348
6475
  * Fetches the role Discord gives to the server boosters of a guild, if any.
6349
6476
  *
6350
6477
  * @param guildId The ID of the guild.
6351
6478
  */
6352
- premiumSubscriberRole(guildId: string): Promise<Role | null>;
6479
+ premiumSubscriberRole(...args: GuildArgs<InGuild, []>): Promise<Role | null>;
6353
6480
  /**
6354
6481
  * Fetches the role Discord manages for a bot in a guild, if any.
6355
6482
  *
6356
6483
  * @param guildId The ID of the guild.
6357
6484
  * @param botId The ID of the bot user.
6358
6485
  */
6359
- botRoleFor(guildId: string, botId: string): Promise<Role | null>;
6486
+ botRoleFor(...args: GuildArgs<InGuild, [botId: string]>): Promise<Role | null>;
6360
6487
  protected fetchRaw(guildId: string, roleId: string): Promise<{
6361
6488
  id: import("discord-api-types/globals").Snowflake;
6362
6489
  name: string;
@@ -7272,10 +7399,23 @@ export interface GuildMembersRequestOptions {
7272
7399
  }
7273
7400
  /**
7274
7401
  * Manages the {@link GuildMember}s known to the client.
7402
+ *
7403
+ * `guild.members` (or `client.guilds.members(guildId)`) is this manager built for one guild, like discord.js's:
7404
+ * `cache` takes the user's ID alone, and the methods lose their `guildId` argument.
7405
+ *
7406
+ * @typeParam InGuild Whether the manager was built for one guild.
7275
7407
  */
7276
- export declare class GuildMemberManager extends CachedManager<"members", GuildMember, [guildId: string, userId: string]> {
7408
+ export declare class GuildMemberManager<InGuild extends boolean = false> extends CachedManager<"members", GuildMember, [guildId: string, userId: string], GuildArgs<InGuild, [userId: string]>> {
7277
7409
  #private;
7278
- constructor(client: GatewayClient);
7410
+ /**
7411
+ * The ID of the guild this manager was built for, `undefined` on `client.members`.
7412
+ */
7413
+ readonly guildId: InGuild extends true ? string : undefined;
7414
+ /**
7415
+ * @param client The client.
7416
+ * @param guildId The guild to build the manager for.
7417
+ */
7418
+ constructor(client: GatewayClient, guildId?: string);
7279
7419
  protected createStructure(data: CacheEntityTypes["members"]): GuildMember;
7280
7420
  keyOf(data: CacheEntityTypes["members"]): string;
7281
7421
  /**
@@ -7297,39 +7437,42 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7297
7437
  private readRelation;
7298
7438
  resolveKey(guildId: string, userId: string): string;
7299
7439
  /**
7300
- * Gets the bot's own member in a guild from the cache, like discord.js's `guild.members.me`. Synchronous when the
7301
- * member cache is. Use {@link GuildMemberManager.fetchMe} to fall back to the API.
7440
+ * The bot's own member in a guild, from the cache: `null` when it is not cached. Use
7441
+ * {@link GuildMemberManager.fetchMe} to fall back to the API.
7302
7442
  *
7303
- * @param guildId The ID of the guild.
7304
- * @returns The member, or `null` when it is not cached.
7443
+ * @remarks
7444
+ * On the manager of a guild it is a getter, like discord.js's `guild.members.me`: the member itself, or a promise
7445
+ * of it with an asynchronous cache (see `GatewayCacheConfig`). On `client.members` it is a function taking the
7446
+ * guild's ID, synchronous when the member cache is.
7305
7447
  */
7306
- me(guildId: string): Awaitable<GuildMember | null>;
7448
+ readonly me: InGuild extends true ? CacheRead<GuildMember | null> : (guildId: string) => Awaitable<GuildMember | null>;
7449
+ private cachedMe;
7307
7450
  /**
7308
7451
  * Fetches the bot's own member in a guild, cache first.
7309
7452
  *
7310
7453
  * @param guildId The ID of the guild.
7311
7454
  */
7312
- fetchMe(guildId: string): Promise<GuildMember>;
7455
+ fetchMe(...args: GuildArgs<InGuild, []>): Promise<GuildMember>;
7313
7456
  /**
7314
7457
  * Lists the members of a guild, in user ID order, and caches them.
7315
7458
  *
7316
7459
  * @param guildId The ID of the guild.
7317
7460
  * @param options How many members to list (up to 1000), and after which user ID.
7318
7461
  */
7319
- list(guildId: string, options?: {
7462
+ list(...args: GuildArgs<InGuild, [options?: {
7320
7463
  limit?: number;
7321
7464
  after?: string;
7322
- }): Promise<GuildMember[]>;
7465
+ }]>): Promise<GuildMember[]>;
7323
7466
  /**
7324
7467
  * Searches the members of a guild whose username or nickname starts with a query, and caches them.
7325
7468
  *
7326
7469
  * @param guildId The ID of the guild.
7327
7470
  * @param options The query, and how many members to return (up to 1000).
7328
7471
  */
7329
- search(guildId: string, options: {
7472
+ search(...args: GuildArgs<InGuild, [options: {
7330
7473
  query: string;
7331
7474
  limit?: number;
7332
- }): Promise<GuildMember[]>;
7475
+ }]>): Promise<GuildMember[]>;
7333
7476
  /**
7334
7477
  * Requests the members of a guild over the gateway, every one of them by default, and caches them. discord.js:
7335
7478
  * `guild.members.fetch()` without a user.
@@ -7343,7 +7486,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7343
7486
  * @param options Which members to request.
7344
7487
  * @returns The members, once the last chunk is cached.
7345
7488
  */
7346
- request(guildId: string, options?: GuildMembersRequestOptions): Promise<GuildMember[]>;
7489
+ request(...args: GuildArgs<InGuild, [options?: GuildMembersRequestOptions]>): Promise<GuildMember[]>;
7347
7490
  /**
7348
7491
  * Adds a cached chunk of members to the request with its nonce, resolving it with the last chunk.
7349
7492
  *
@@ -7363,7 +7506,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7363
7506
  * @param userId The ID of the user.
7364
7507
  * @param options The access token and the member's initial state.
7365
7508
  */
7366
- add(guildId: string, userId: string, options: GuildMemberAddOptions): Promise<GuildMember>;
7509
+ add(...args: GuildArgs<InGuild, [userId: string, options: GuildMemberAddOptions]>): Promise<GuildMember>;
7367
7510
  /**
7368
7511
  * Edits a member.
7369
7512
  *
@@ -7371,14 +7514,14 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7371
7514
  * @param userId The ID of the member's user.
7372
7515
  * @param options The fields to edit.
7373
7516
  */
7374
- edit(guildId: string, userId: string, options: GuildMemberEditOptions): Promise<GuildMember>;
7517
+ edit(...args: GuildArgs<InGuild, [userId: string, options: GuildMemberEditOptions]>): Promise<GuildMember>;
7375
7518
  /**
7376
7519
  * Edits the bot's own member.
7377
7520
  *
7378
7521
  * @param guildId The ID of the guild.
7379
7522
  * @param options The fields to edit.
7380
7523
  */
7381
- editMe(guildId: string, options: GuildMemberEditMeOptions): Promise<GuildMember>;
7524
+ editMe(...args: GuildArgs<InGuild, [options: GuildMemberEditMeOptions]>): Promise<GuildMember>;
7382
7525
  /**
7383
7526
  * Kicks a member.
7384
7527
  *
@@ -7386,7 +7529,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7386
7529
  * @param userId The ID of the member's user.
7387
7530
  * @param reason The reason for the audit log.
7388
7531
  */
7389
- kick(guildId: string, userId: string, reason?: string): Promise<void>;
7532
+ kick(...args: GuildArgs<InGuild, [userId: string, reason?: string]>): Promise<void>;
7390
7533
  /**
7391
7534
  * Bans a user, member or not.
7392
7535
  *
@@ -7394,7 +7537,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7394
7537
  * @param userId The ID of the user.
7395
7538
  * @param options How many seconds of messages to delete, and the reason for the audit log.
7396
7539
  */
7397
- ban(guildId: string, userId: string, options?: BanOptions): Promise<void>;
7540
+ ban(...args: GuildArgs<InGuild, [userId: string, options?: BanOptions]>): Promise<void>;
7398
7541
  /**
7399
7542
  * Lifts a user's ban.
7400
7543
  *
@@ -7402,7 +7545,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7402
7545
  * @param userId The ID of the user.
7403
7546
  * @param reason The reason for the audit log.
7404
7547
  */
7405
- unban(guildId: string, userId: string, reason?: string): Promise<void>;
7548
+ unban(...args: GuildArgs<InGuild, [userId: string, reason?: string]>): Promise<void>;
7406
7549
  /**
7407
7550
  * Bans up to 200 users at once.
7408
7551
  *
@@ -7411,7 +7554,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7411
7554
  * @param options How many seconds of messages to delete, and the reason for the audit log.
7412
7555
  * @returns The users that were banned, and the ones that could not be.
7413
7556
  */
7414
- bulkBan(guildId: string, userIds: readonly string[], options?: BanOptions): Promise<{
7557
+ bulkBan(...args: GuildArgs<InGuild, [userIds: readonly string[], options?: BanOptions]>): Promise<{
7415
7558
  bannedUsers: string[];
7416
7559
  failedUsers: string[];
7417
7560
  }>;
@@ -7422,7 +7565,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7422
7565
  * @param options The inactivity threshold and the roles to include.
7423
7566
  * @returns How many members were (or would be) pruned, `null` when `count` is `false`.
7424
7567
  */
7425
- prune(guildId: string, options?: GuildPruneOptions): Promise<number | null>;
7568
+ prune(...args: GuildArgs<InGuild, [options?: GuildPruneOptions]>): Promise<number | null>;
7426
7569
  /**
7427
7570
  * Adds a role to a member.
7428
7571
  *
@@ -7431,7 +7574,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7431
7574
  * @param roleId The ID of the role.
7432
7575
  * @param reason The reason for the audit log.
7433
7576
  */
7434
- addRole(guildId: string, userId: string, roleId: string, reason?: string): Promise<void>;
7577
+ addRole(...args: GuildArgs<InGuild, [userId: string, roleId: string, reason?: string]>): Promise<void>;
7435
7578
  /**
7436
7579
  * Removes a role from a member.
7437
7580
  *
@@ -7440,7 +7583,7 @@ export declare class GuildMemberManager extends CachedManager<"members", GuildMe
7440
7583
  * @param roleId The ID of the role.
7441
7584
  * @param reason The reason for the audit log.
7442
7585
  */
7443
- removeRole(guildId: string, userId: string, roleId: string, reason?: string): Promise<void>;
7586
+ removeRole(...args: GuildArgs<InGuild, [userId: string, roleId: string, reason?: string]>): Promise<void>;
7444
7587
  protected fetchRaw(guildId: string, userId: string): Promise<{
7445
7588
  nick?: string | null;
7446
7589
  roles: import("discord-api-types/globals").Snowflake[];
@@ -8121,6 +8264,128 @@ export declare class GuildInviteManager extends CachedManager<"invites", GuildIn
8121
8264
  private toCached;
8122
8265
  }
8123
8266
  //#endregion
8267
+ //#region src/managers/PresenceManager.d.ts
8268
+ /**
8269
+ * Manages the presences of guild members.
8270
+ *
8271
+ * @remarks
8272
+ * Presences only come from the gateway, with the `GuildPresences` intent: there is no API to fetch them, so `fetch`
8273
+ * rejects on a cache miss. Use `cache.get`, which answers `undefined` instead.
8274
+ *
8275
+ * The cache is keyed by guild and user. `guild.presences` (or `client.guilds.presences(guildId)`) reads it by user
8276
+ * ID alone, like discord.js: `guild.presences.cache.get(userId)`.
8277
+ *
8278
+ * `guild.presences` (or `client.guilds.presences(guildId)`) is this manager built for one guild, like discord.js's:
8279
+ * `cache` takes the user's ID alone, and the methods lose their `guildId` argument.
8280
+ *
8281
+ * @typeParam InGuild Whether the manager was built for one guild.
8282
+ */
8283
+ export declare class PresenceManager<InGuild extends boolean = false> extends CachedManager<"presences", Presence, [guildId: string, userId: string], GuildArgs<InGuild, [userId: string]>> {
8284
+ /**
8285
+ * The ID of the guild this manager was built for, `undefined` on `client.presences`.
8286
+ */
8287
+ readonly guildId: InGuild extends true ? string : undefined;
8288
+ /**
8289
+ * @param client The client.
8290
+ * @param guildId The guild to build the manager for.
8291
+ */
8292
+ constructor(client: GatewayClient, guildId?: string);
8293
+ protected createStructure(data: CacheEntityTypes["presences"]): Presence;
8294
+ keyOf(data: CacheEntityTypes["presences"]): string;
8295
+ resolveKey(guildId: string, userId: string): string;
8296
+ _hydrate(data: CacheEntityTypes["presences"]): Awaitable<Presence>;
8297
+ /**
8298
+ * Resolves a {@link PresenceResolvable} to the cached presence of its user in a guild.
8299
+ *
8300
+ * @remarks
8301
+ * A string is a **user ID**, not a cache key: read `guild.presences.cache.get(userId)`, or build the key with
8302
+ * {@link PresenceManager.resolveKey} to read `cache.get` directly. It is a pure cache read, no request is made and
8303
+ * a miss is `null`; presences only come from the gateway.
8304
+ *
8305
+ * The guild comes from a member or a message, else from a thread member's member or thread, and otherwise from
8306
+ * `guildId`. A message sent in a direct message belongs to no guild, so it resolves to `null` unless `guildId` is
8307
+ * given.
8308
+ *
8309
+ * @param presence The presence, something holding a user, or a user ID.
8310
+ * @param guildId The guild to look the presence up in, when the value carries none.
8311
+ * @returns The presence, or `null` if it is not cached or its guild is unknown.
8312
+ */
8313
+ resolve(presence: PresenceResolvable, guildId?: string): Awaitable<Presence | null>;
8314
+ /**
8315
+ * Resolves a {@link PresenceResolvable} to a user ID.
8316
+ *
8317
+ * @remarks
8318
+ * This is the ID of the presence's user, like discord.js, and not the cache key {@link PresenceManager.resolveKey}
8319
+ * builds from a guild and a user.
8320
+ *
8321
+ * @param presence The presence, something holding a user, or a user ID.
8322
+ * @returns The user ID, or `null` if the value holds none.
8323
+ */
8324
+ resolveId(presence: PresenceResolvable): string | null;
8325
+ private guildOf;
8326
+ /**
8327
+ * Lists the cached presences of a guild.
8328
+ *
8329
+ * @param guildId The ID of the guild.
8330
+ * @returns The cached entries, `[]` when this entity is not cached.
8331
+ * @throws {TypeError} When the store cannot enumerate its entries.
8332
+ */
8333
+ listCached(...args: GuildArgs<InGuild, []>): Promise<Presence[]>;
8334
+ protected fetchRaw(guildId: string, userId: string): Promise<CacheEntityTypes["presences"]>;
8335
+ }
8336
+ //#endregion
8337
+ //#region src/managers/VoiceStateManager.d.ts
8338
+ /**
8339
+ * Manages the voice states of the members connected to voice channels.
8340
+ *
8341
+ * @remarks
8342
+ * The cache holds them when the bot has the `GuildVoiceStates` intent. `fetch` falls back to the API, which only
8343
+ * knows the voice states of connected members.
8344
+ *
8345
+ * `guild.voiceStates` (or `client.guilds.voiceStates(guildId)`) is this manager built for one guild, like
8346
+ * discord.js's: `cache` takes the user's ID alone, and the methods lose their `guildId` argument.
8347
+ *
8348
+ * @typeParam InGuild Whether the manager was built for one guild.
8349
+ */
8350
+ export declare class VoiceStateManager<InGuild extends boolean = false> extends CachedManager<"voiceStates", VoiceState, [guildId: string, userId: string], GuildArgs<InGuild, [userId: string]>> {
8351
+ /**
8352
+ * The ID of the guild this manager was built for, `undefined` on `client.voiceStates`.
8353
+ */
8354
+ readonly guildId: InGuild extends true ? string : undefined;
8355
+ /**
8356
+ * @param client The client.
8357
+ * @param guildId The guild to build the manager for.
8358
+ */
8359
+ constructor(client: GatewayClient, guildId?: string);
8360
+ protected createStructure(data: CacheEntityTypes["voiceStates"]): VoiceState;
8361
+ keyOf(data: CacheEntityTypes["voiceStates"]): string;
8362
+ resolveKey(guildId: string, userId: string): string;
8363
+ _hydrate(data: CacheEntityTypes["voiceStates"]): Awaitable<VoiceState>;
8364
+ /**
8365
+ * Lists the cached voice states of a guild.
8366
+ *
8367
+ * @param guildId The ID of the guild.
8368
+ * @returns The cached entries, `[]` when this entity is not cached.
8369
+ * @throws {TypeError} When the store cannot enumerate its entries.
8370
+ */
8371
+ listCached(...args: GuildArgs<InGuild, []>): Promise<VoiceState[]>;
8372
+ protected fetchRaw(guildId: string, userId: string): Promise<{
8373
+ channel_id: import("discord-api-types/globals").Snowflake | null;
8374
+ user_id: import("discord-api-types/globals").Snowflake;
8375
+ member?: import("discord-api-types/v10").APIGuildMember;
8376
+ session_id: string;
8377
+ deaf: boolean;
8378
+ mute: boolean;
8379
+ self_deaf: boolean;
8380
+ self_mute: boolean;
8381
+ self_stream?: boolean;
8382
+ self_video: boolean;
8383
+ suppress: boolean;
8384
+ request_to_speak_timestamp: string | null;
8385
+ guild_id: string;
8386
+ }>;
8387
+ }
8388
+ //#endregion
8124
8389
  //#region src/managers/GuildManager.d.ts
8125
8390
  /**
8126
8391
  * Until when to pause invites and direct messages in a guild, at most 24 hours ahead; `null` resumes them.
@@ -8385,6 +8650,37 @@ export declare class GuildManager extends CachedManager<"guilds", Guild, [guildI
8385
8650
  * @param guildId The ID of the guild.
8386
8651
  */
8387
8652
  invites(guildId: string): GuildInviteManager;
8653
+ /**
8654
+ * Gets the manager of a guild's presences.
8655
+ *
8656
+ * @param guildId The ID of the guild.
8657
+ */
8658
+ presences(guildId: string): PresenceManager<true>;
8659
+ /**
8660
+ * Gets the manager of a guild's members.
8661
+ *
8662
+ * @param guildId The ID of the guild.
8663
+ */
8664
+ members(guildId: string): GuildMemberManager<true>;
8665
+ /**
8666
+ * Gets the manager of a guild's roles.
8667
+ *
8668
+ * @param guildId The ID of the guild.
8669
+ */
8670
+ roles(guildId: string): RoleManager<true>;
8671
+ /**
8672
+ * Gets the manager of a guild's voice states.
8673
+ *
8674
+ * @param guildId The ID of the guild.
8675
+ */
8676
+ voiceStates(guildId: string): VoiceStateManager<true>;
8677
+ /**
8678
+ * Gets the URL of a guild's widget image.
8679
+ *
8680
+ * @param guild The guild, or anything carrying its ID.
8681
+ * @param style The style of the image.
8682
+ */
8683
+ widgetImageURL(guild: GuildResolvable, style?: GuildWidgetStyle): string;
8388
8684
  /**
8389
8685
  * Lists the guilds the bot is in, as the partial guilds the API returns, paginated by guild ID.
8390
8686
  *
@@ -8954,6 +9250,22 @@ export declare class Guild extends AnonymousGuild<CacheEntityTypes["guilds"]> {
8954
9250
  * The invites of the guild.
8955
9251
  */
8956
9252
  get invites(): GuildInviteManager;
9253
+ /**
9254
+ * The presences of the guild: `guild.presences.cache.get(userId)`.
9255
+ */
9256
+ get presences(): PresenceManager<true>;
9257
+ /**
9258
+ * The members of the guild: `guild.members.cache.get(userId)`.
9259
+ */
9260
+ get members(): GuildMemberManager<true>;
9261
+ /**
9262
+ * The roles of the guild: `guild.roles.cache.get(roleId)`.
9263
+ */
9264
+ get roles(): RoleManager<true>;
9265
+ /**
9266
+ * The voice states of the guild: `guild.voiceStates.cache.get(userId)`.
9267
+ */
9268
+ get voiceStates(): VoiceStateManager<true>;
8957
9269
  /**
8958
9270
  * Gets the URL of the guild's discovery splash image, or `null` if it has none.
8959
9271
  * @param options The image options.
@@ -10010,6 +10322,16 @@ export declare class ChannelManager extends CachedManager<"channels", AnyChannel
10010
10322
  * @internal
10011
10323
  */
10012
10324
  _findDM(userId: string): Awaitable<DMChannel | null | undefined>;
10325
+ /**
10326
+ * Counts the cached channels of a guild, threads excluded, for `GuildChannelManager.channelCountWithoutThreads`.
10327
+ * Synchronous when the channel cache is.
10328
+ *
10329
+ * @param guildId The ID of the guild.
10330
+ * @returns The count, `0` when channels are not cached.
10331
+ * @throws {TypeError} When the store cannot enumerate its entries.
10332
+ * @internal
10333
+ */
10334
+ _countInGuild(guildId: string): Awaitable<number>;
10013
10335
  private readRaw;
10014
10336
  resolveKey(channelId: string): string;
10015
10337
  /**
@@ -10041,99 +10363,6 @@ export declare class ChannelManager extends CachedManager<"channels", AnyChannel
10041
10363
  protected fetchRaw(channelId: string): Promise<import("discord-api-types/v10").APIChannel>;
10042
10364
  }
10043
10365
  //#endregion
10044
- //#region src/managers/VoiceStateManager.d.ts
10045
- /**
10046
- * Manages the voice states of the members connected to voice channels.
10047
- *
10048
- * @remarks
10049
- * The cache holds them when the bot has the `GuildVoiceStates` intent. `fetch` falls back to the API, which only
10050
- * knows the voice states of connected members.
10051
- */
10052
- export declare class VoiceStateManager extends CachedManager<"voiceStates", VoiceState, [guildId: string, userId: string]> {
10053
- constructor(client: GatewayClient);
10054
- protected createStructure(data: CacheEntityTypes["voiceStates"]): VoiceState;
10055
- keyOf(data: CacheEntityTypes["voiceStates"]): string;
10056
- resolveKey(guildId: string, userId: string): string;
10057
- _hydrate(data: CacheEntityTypes["voiceStates"]): Awaitable<VoiceState>;
10058
- /**
10059
- * Lists the cached voice states of a guild.
10060
- *
10061
- * @param guildId The ID of the guild.
10062
- * @returns The cached entries, `[]` when this entity is not cached.
10063
- * @throws {TypeError} When the store cannot enumerate its entries.
10064
- */
10065
- listCached(guildId: string): Promise<VoiceState[]>;
10066
- protected fetchRaw(guildId: string, userId: string): Promise<{
10067
- channel_id: import("discord-api-types/globals").Snowflake | null;
10068
- user_id: import("discord-api-types/globals").Snowflake;
10069
- member?: import("discord-api-types/v10").APIGuildMember;
10070
- session_id: string;
10071
- deaf: boolean;
10072
- mute: boolean;
10073
- self_deaf: boolean;
10074
- self_mute: boolean;
10075
- self_stream?: boolean;
10076
- self_video: boolean;
10077
- suppress: boolean;
10078
- request_to_speak_timestamp: string | null;
10079
- guild_id: string;
10080
- }>;
10081
- }
10082
- //#endregion
10083
- //#region src/managers/PresenceManager.d.ts
10084
- /**
10085
- * Manages the presences of guild members.
10086
- *
10087
- * @remarks
10088
- * Presences only come from the gateway, with the `GuildPresences` intent: there is no API to fetch them, so `fetch`
10089
- * rejects on a cache miss. Use `cache.get`, which answers `undefined` instead.
10090
- */
10091
- export declare class PresenceManager extends CachedManager<"presences", Presence, [guildId: string, userId: string]> {
10092
- constructor(client: GatewayClient);
10093
- protected createStructure(data: CacheEntityTypes["presences"]): Presence;
10094
- keyOf(data: CacheEntityTypes["presences"]): string;
10095
- resolveKey(guildId: string, userId: string): string;
10096
- _hydrate(data: CacheEntityTypes["presences"]): Awaitable<Presence>;
10097
- /**
10098
- * Resolves a {@link PresenceResolvable} to the cached presence of its user in a guild.
10099
- *
10100
- * @remarks
10101
- * A string is a **user ID**, not a cache key: build the key with {@link PresenceManager.resolveKey} to read
10102
- * `cache.get` directly. It is a pure cache read, no request is made and a miss is `null`; presences only come from
10103
- * the gateway.
10104
- *
10105
- * The guild comes from a member or a message, else from a thread member's member or thread, and otherwise from
10106
- * `guildId`. A message sent in a direct message belongs to no guild, so it resolves to `null` unless `guildId` is
10107
- * given.
10108
- *
10109
- * @param presence The presence, something holding a user, or a user ID.
10110
- * @param guildId The guild to look the presence up in, when the value carries none.
10111
- * @returns The presence, or `null` if it is not cached or its guild is unknown.
10112
- */
10113
- resolve(presence: PresenceResolvable, guildId?: string): Awaitable<Presence | null>;
10114
- /**
10115
- * Resolves a {@link PresenceResolvable} to a user ID.
10116
- *
10117
- * @remarks
10118
- * This is the ID of the presence's user, like discord.js, and not the cache key {@link PresenceManager.resolveKey}
10119
- * builds from a guild and a user.
10120
- *
10121
- * @param presence The presence, something holding a user, or a user ID.
10122
- * @returns The user ID, or `null` if the value holds none.
10123
- */
10124
- resolveId(presence: PresenceResolvable): string | null;
10125
- private guildOf;
10126
- /**
10127
- * Lists the cached presences of a guild.
10128
- *
10129
- * @param guildId The ID of the guild.
10130
- * @returns The cached entries, `[]` when this entity is not cached.
10131
- * @throws {TypeError} When the store cannot enumerate its entries.
10132
- */
10133
- listCached(guildId: string): Promise<Presence[]>;
10134
- protected fetchRaw(guildId: string, userId: string): Promise<CacheEntityTypes["presences"]>;
10135
- }
10136
- //#endregion
10137
10366
  //#region src/managers/UserManager.d.ts
10138
10367
  /**
10139
10368
  * The options to open a direct message channel with.
@@ -11830,6 +12059,7 @@ export declare const GatewayErrorMessages: {
11830
12059
  readonly ChannelLockPermissionsConflict: "Pass either lockPermissions or permissionOverwrites, not both";
11831
12060
  readonly GuildChannelOrphan: (channelId: string) => string;
11832
12061
  readonly GuildChannelUnknown: (guildId: string, channelId: string) => string;
12062
+ readonly GuildResolve: "Cannot resolve the value to a guild ID";
11833
12063
  readonly GuildRoleUnknown: (guildId: string, roleId: string) => string;
11834
12064
  readonly ThreadParentUnknown: (threadId: string) => string;
11835
12065
  readonly ThreadOwnerUnknown: (threadId: string) => string;
@@ -12660,5 +12890,5 @@ export interface TransformedResolvedData {
12660
12890
  */
12661
12891
  export declare function transformResolved({ client, guildId }: SupportingResolvedData, { users, members, roles, channels }: ResolvableData): Awaitable<TransformedResolvedData>;
12662
12892
  //#endregion
12663
- export { type AllowedPartial, type AnnouncementChannelResolvable, type ApplicationCommandDataResolvable, type ApplicationCommandPermissionIdResolvable, type ApplicationCommandResolvable, type ApplicationResolvable, type AttachmentPayload, type AttachmentResolvable, type AutoModerationRuleResolvable, type BaseMessageOptions, BitField, type BitFieldResolvable, type BufferResolvable, type Cache, type CacheConstructor, type CacheConstructorOptions, type CacheEntityOptions, type CacheRead, type CacheReadOf, type CategoryChannelResolvable, type ChannelResolvable, type ColorResolvable, type CommandOptionDataTypeResolvable, type ComponentEmojiResolvable, type DateResolvable, type EmojiResolvable, type EntitlementResolvable, type ForwardOptions, type GatewayCacheConfig, type GatewayClientMessageDefaults, type GuildAuditLogsResolvable, type GuildBanResolvable, type GuildBasedChannel, type GuildChannelResolvable, type GuildInvitableChannel, type GuildInvitableChannelResolvable, type GuildInviteResolvable, type GuildResolvable, type GuildScheduledEventResolvable, type GuildSearchMessagesOptions, type GuildSearchMessagesResult, type GuildTemplateResolvable, type GuildTextBasedChannel, type GuildTextChannelResolvable, type GuildVoiceChannelResolvable, type HexColorString, type If, type InviteResolvable, type JSONEncodable, type MessageActionRowComponentResolvable, type MessageCreateOptions, type MessageEditOptions, type MessageMentionOptions, type MessagePayloadContext, type MessagePayloadOptions, type MessagePayloadResolvable, type MessageReactionResolvable, type MessageResolvable, type MessageTarget, type NonThreadGuildBasedChannel, type OverwriteResolvable, type Partialize, type PermissionOverwriteResolvable, PermissionsBitField, type PollCreateData, type PresenceResolvable, type RawAPIType, type ReplyOptions, type ResolvedMessagePayload, type RoleColorsEditResolvable, type RoleColorsResolvable, type RoleResolvable, type RoleResolvables, type SKUResolvable, type SoundboardSoundResolvable, type StageChannelResolvable, type StageInstanceResolvable, type StickerResolvable, type StructureCreator, type SubscriptionResolvable, type TextBasedChannel, type TextBasedChannelResolvable, type TextChannelResolvable, type ThreadChannel, type ThreadChannelResolvable, type ThreadMemberResolvable, type UserResolvable, type VoiceBasedChannel, type VoiceChannelResolvable, type WebhookMessageCreateOptions, type WebhookMessageEditOptions, type WebhookMessageOptions, type WebhookThreadOptions, type cacheRead, type cachedChannel, type cachedGuild, type cachedMember, type cachedMessage, type cachedPresence, type cachedRole, type cachedUser, type cachedVoiceState, type isPromiseLike, type peekCache, type pickCached, type readCached, type refreshRelations, type syncOnly, type whenAll, type whenCachedMap };
12893
+ export { type AllowedPartial, type AnnouncementChannelResolvable, type ApplicationCommandDataResolvable, type ApplicationCommandPermissionIdResolvable, type ApplicationCommandResolvable, type ApplicationResolvable, type AttachmentPayload, type AttachmentResolvable, type AutoModerationRuleResolvable, type BaseMessageOptions, BitField, type BitFieldResolvable, type BufferResolvable, type Cache, type CacheConstructor, type CacheConstructorOptions, type CacheEntityOptions, type CacheRead, type CacheReadOf, type CategoryChannelResolvable, type ChannelResolvable, type ColorResolvable, type CommandOptionDataTypeResolvable, type ComponentEmojiResolvable, type DateResolvable, type EmojiResolvable, type EntitlementResolvable, type ForwardOptions, type GatewayCacheConfig, type GatewayClientMessageDefaults, type GuildAuditLogsResolvable, type GuildBanResolvable, type GuildBasedChannel, type GuildChannelResolvable, type GuildInvitableChannel, type GuildInvitableChannelResolvable, type GuildInviteResolvable, type GuildResolvable, type GuildScheduledEventResolvable, type GuildSearchMessagesOptions, type GuildSearchMessagesResult, type GuildTemplateResolvable, type GuildTextBasedChannel, type GuildTextChannelResolvable, type GuildVoiceChannelResolvable, type HexColorString, type If, type InviteResolvable, type JSONEncodable, type MessageActionRowComponentResolvable, type MessageCreateOptions, type MessageEditOptions, type MessageMentionOptions, type MessagePayloadContext, type MessagePayloadOptions, type MessagePayloadResolvable, type MessageReactionResolvable, type MessageResolvable, type MessageTarget, type NonThreadGuildBasedChannel, type OverwriteResolvable, type Partialize, type PermissionOverwriteResolvable, PermissionsBitField, type PollCreateData, type PresenceResolvable, type RawAPIType, type ReplyOptions, type ResolvedMessagePayload, type RoleColorsEditResolvable, type RoleColorsResolvable, type RoleResolvable, type RoleResolvables, type SKUResolvable, type ScopedCache, type SoundboardSoundResolvable, type StageChannelResolvable, type StageInstanceResolvable, type StickerResolvable, type StructureCreator, type SubscriptionResolvable, type TextBasedChannel, type TextBasedChannelResolvable, type TextChannelResolvable, type ThreadChannel, type ThreadChannelResolvable, type ThreadMemberResolvable, type UserResolvable, type VoiceBasedChannel, type VoiceChannelResolvable, type WebhookMessageCreateOptions, type WebhookMessageEditOptions, type WebhookMessageOptions, type WebhookThreadOptions, type cacheRead, type cachedChannel, type cachedGuild, type cachedMember, type cachedMessage, type cachedPresence, type cachedRole, type cachedUser, type cachedVoiceState, type isPromiseLike, type peekCache, type pickCached, type readCached, type refreshRelations, type scopeCache, type syncOnly, type whenAll, type whenCachedMap };
12664
12894
  //# sourceMappingURL=index.d.ts.map