import { AnyPluginData, GlobalPluginData, GuildPluginData } from "../../plugins/PluginData"; import { Locale, Permissions } from "discord-api-types/v10"; import { SlashCommandBlueprint } from "./slashCommandBlueprint"; import { BasePluginType } from "../../plugins/pluginTypes"; export type SlashGroupBlueprint> = { type: "slash-group"; name: string; nameLocalizations?: Record; description: string; descriptionLocalizations?: Record; defaultMemberPermissions?: Permissions; allowDms?: boolean; subcommands: Array | SlashGroupBlueprint>; }; type SlashGroupBlueprintCreator> = (blueprint: Omit, "type">) => SlashGroupBlueprint; /** * Helper function that creates a blueprint for a guild slash group. * * To specify `TPluginType` for additional type hints, use: * `guildPluginSlashGroup()(blueprint)` */ export declare function guildPluginSlashGroup(blueprint: Omit>, "type">): SlashGroupBlueprint>; /** * Specify `TPluginType` for type hints and return self */ export declare function guildPluginSlashGroup(): SlashGroupBlueprintCreator>; /** * Helper function that creates a blueprint for a guild slash group. * * To specify `TPluginType` for additional type hints, use: * `globalPluginSlashGroup()(blueprint)` */ export declare function globalPluginSlashGroup(blueprint: Omit>, "type">): SlashGroupBlueprint>; /** * Specify `TPluginType` for type hints and return self */ export declare function globalPluginSlashGroup(): SlashGroupBlueprintCreator>; export {};