{"version":3,"sources":["../../../../src/lib/utils/types.ts"],"names":[],"mappings":";;;AAiFO,IAAM,yBAA4B,GAAA;AAAA,EACxC,yBAA2B,EAAA,2BAAA;AAAA,EAC3B,uBAAyB,EAAA,yBAAA;AAC1B","file":"types.mjs","sourcesContent":["import type { container, Command } from '@sapphire/framework';\n\nimport type { SlashCommandSubcommandBuilder } from '@discordjs/builders';\n\n/**\n * **Subcommand options**\n *\n * Options to register a command as a subcommand of a parent command.\n *\n * @since 1.0.0\n */\nexport interface SubcommandOptions {\n\tregisterSubCommand?: {\n\t\tparentCommandName: string;\n\t\tslashSubcommand?:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder, Container: typeof container) => SlashCommandSubcommandBuilder);\n\t};\n\tregisterSubcommandInGroup?: {\n\t\tparentCommandName: string;\n\t\tgroupName: string;\n\t\tslashSubcommand?:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder, Container: typeof container) => SlashCommandSubcommandBuilder);\n\t};\n}\n\nexport type CommandOptions = SubcommandOptions;\n\nexport interface SubcommandMappingCollection {\n\tslashCommand?: SlashCommandSubcommandBuilder;\n\tcommandPiece: Command;\n}\n\n/**\n * Internal plugin options of `@kaname-png/plugin-subcommands-advanced`\n *\n * Defines options to control the plugin behavior.\n *\n * @since 1.2.2\n */\nexport interface PluginSubcommandOptions {\n\t/**\n\t * Update the `name` option of the command options with a name auto-generated by the plugin.\n\t *\n\t * This does not change the name of the subcommand as such, it only changes the `name` property of the command's internal options.\n\t *\n\t * This helps to keep command classes from collapsing with repeated names (@sapphire/pieces does not load 2 pieces with the same name) and avoids having to manually put a special name for each command.\n\t *\n\t * **Subcommands**\n\t *\n\t * @example Subcommands\n\t * ```\n\t * Parent command = \"utils\"\n\t * Subcommand name = \"ping\"\n\t * Name autogenerated = \"utils/ping\"\n\t * ```\n\t *\n\t * **Subcommands group**\n\t *\n\t * @example\n\t * ```\n\t * Parent command = \"search\"\n\t * Group name = \"anime\"\n\t * Subcommand name = \"watch\"\n\t * Name autogenerated = \"search/anime/watch\"\n\t * ```\n\t *\n\t * @since 1.2.2\n\t */\n\tnameCommandsAutogenerated?: boolean;\n}\n\n/**\n * **Events**\n *\n * Names of events that will be called when a subcommand does not comply with the preconditions established in the command options.\n * These events are specific to the plugin.\n *\n * @since 1.0.0\n */\nexport const SubcommandsAdvancedEvents = {\n\tChatInputSubcommandDenied: 'chatInputSubcommandDenied' as const,\n\tMessageSubcommandDenied: 'messageSubcommandDenied' as const\n};\n"]}