lilybird
Version:
A bun-first discord api wrapper written in TS
62 lines • 2.65 kB
TypeScript
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