diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 7d95a19e3e39..6ff27a8c4dd1 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4227,7 +4227,9 @@ export class ApplicationCommandPermissionsManager< }, ): Promise; public fetch(options: FetchSingleOptions): Promise; - public fetch(options: BaseOptions): Promise>; + public fetch( + ...args: {} extends BaseOptions ? [] | [BaseOptions] : [BaseOptions] + ): Promise>; public remove( options: | (FetchSingleOptions & { diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 25e0fd1f9c44..bf88034172f3 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -201,6 +201,7 @@ import type { VoiceChannel, Invite, GuildInvite, + ApplicationCommandPermissions, } from './index.js'; import { ActionRowBuilder, @@ -1726,6 +1727,16 @@ declare const guildApplicationCommandManager: GuildApplicationCommandManager; expectType>(guildApplicationCommandManager.fetch('0')); expectType>(guildApplicationCommandManager.fetch({ id: '0' })); expectType>>(guildApplicationCommandManager.fetch()); +expectType>( + guildApplicationCommandManager.permissions.fetch({ command: '0' }), +); +expectType>>( + guildApplicationCommandManager.permissions.fetch({}), +); +// https://github.com/discordjs/discord.js/issues/8096 +expectType>>( + guildApplicationCommandManager.permissions.fetch(), +); declare const categoryChannelChildManager: CategoryChannelChildManager; {