UNPKG

lilybird

Version:
62 lines 2.65 kB
import type { ApplicationCommandOptionType, ChannelType } from "#enums"; import type { Localizations as _Localizations } from "./localizations.js"; import type { ApplicationCommand } from "./application-command.js"; declare namespace LocalizedApplicationCommandOption { interface Structure extends ApplicationCommand.OptionStructureWithoutNarrowing, _Localizations.Localized { choices?: Array<ChoiceStructure>; options?: Array<Structure>; } interface ChoiceStructure extends ApplicationCommand.Option.ChoiceStructure, _Localizations.Localized { } } declare namespace LocalizationsApplicationCommandOption { interface Structure extends ApplicationCommand.OptionStructureWithoutNarrowing, _Localizations.Base { choices?: Array<ChoiceStructure>; options?: Array<Structure>; } interface ChoiceStructure extends ApplicationCommand.Option.ChoiceStructure, _Localizations.Base { } } export declare namespace ApplicationCommandOption { export import Localizations = LocalizationsApplicationCommandOption; export import Localized = LocalizedApplicationCommandOption; type Structure = ChannelStructure | StringStructure | NumericStructure | SubCommandStructure | Base; interface Base extends _Localizations.Base { type: ApplicationCommandOptionType; name: string; description: string; required?: boolean; } type WithChoices<T> = T & { choices?: Array<ChoiceStructure>; }; type WithAutocomplete<T> = T & { autocomplete?: boolean; }; interface ChoiceStructure { name: string; value: string | number; } interface SubCommandStructure extends Base { type: ApplicationCommandOptionType.SUB_COMMAND | ApplicationCommandOptionType.SUB_COMMAND_GROUP; options?: Array<Structure>; } type NumericStructure = WithChoices<BaseNumericStructure> | WithAutocomplete<BaseNumericStructure>; interface BaseNumericStructure extends Base { type: ApplicationCommandOptionType.NUMBER | ApplicationCommandOptionType.INTEGER; min_value?: number; max_value?: number; } type StringStructure = WithChoices<BaseStringStructure> | WithAutocomplete<BaseStringStructure>; interface BaseStringStructure extends Base { type: ApplicationCommandOptionType.STRING; min_length?: number; max_length?: number; } interface ChannelStructure extends Base { type: ApplicationCommandOptionType.CHANNEL; channel_types?: Array<ChannelType>; } } export {}; //# sourceMappingURL=application-command-options.d.ts.map