import { ApplicationCommandOptionType, type APIApplicationCommandSubcommandOption } from 'discord-api-types/v10'; import type { Attachment, Channel, GuildMember, Role, User } from 'discord.js'; import type { MakeOption, NamedOption, OptionMode, RequiredOptionFields, Simplify } from '../../types/shared.js'; import { BaseOption } from '../base.js'; import { AttachmentOption, BooleanOption, IntegerOption, ChannelOption, MentionableOption, NumberOption, RoleOption, StringOption, UserOption } from '../value/index.js'; export declare class SubCommand extends BaseOption { required: never; private canPushRequired; private options; constructor(data: RequiredOptionFields); get Type(): ApplicationCommandOptionType.Subcommand; get Options(): readonly BaseOption[]; addStringOption(this: SubCommand, data: NamedOption, transform?: (option: StringOption) => TCanHaveRequired extends true ? StringOption : StringOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addBooleanOption(this: SubCommand, data: NamedOption, transform?: (option: BooleanOption) => TCanHaveRequired extends true ? BooleanOption : BooleanOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addIntegerOption(this: SubCommand, data: NamedOption, transform?: (option: IntegerOption) => TCanHaveRequired extends true ? IntegerOption : IntegerOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addUserOption(this: SubCommand, data: NamedOption, transform?: (option: UserOption) => TCanHaveRequired extends true ? UserOption : UserOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addChannelOption(this: SubCommand, data: NamedOption, transform?: (option: ChannelOption) => TCanHaveRequired extends true ? ChannelOption : ChannelOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addRoleOption(this: SubCommand, data: NamedOption, transform?: (option: RoleOption) => TCanHaveRequired extends true ? RoleOption : RoleOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addMentionableOption(this: SubCommand, data: NamedOption, transform?: (option: MentionableOption) => TCanHaveRequired extends true ? MentionableOption : MentionableOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addNumberOption(this: SubCommand, data: NamedOption, transform?: (option: NumberOption) => TCanHaveRequired extends true ? NumberOption : NumberOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; addAttachmentOption(this: SubCommand, data: NamedOption, transform?: (option: AttachmentOption) => TCanHaveRequired extends true ? AttachmentOption : AttachmentOption): SubCommand>, TCanHaveRequired extends true ? TRequired : false>; private addOption; toJSON(): APIApplicationCommandSubcommandOption; } //# sourceMappingURL=subcommand.d.ts.map