discord-container-builder
Version:
A simplified, developer-friendly API for Discord.js v2 Components that reduces boilerplate and improves code readability.
45 lines • 1.87 kB
TypeScript
import { ActionRowBuilder as DiscordActionRowBuilder, ButtonBuilder as DiscordButtonBuilder, StringSelectMenuBuilder as DiscordStringSelectMenuBuilder } from 'discord.js';
import { ButtonBuilder } from './ButtonBuilder';
import { StringSelectMenuBuilder } from './StringSelectMenuBuilder';
/**
* Simplified ActionRowBuilder that provides a cleaner API for creating action row components
*/
export declare class ActionRowBuilder {
private readonly actionRow;
constructor();
/**
* Add components to the action row
* @param components - Button or SelectMenu components
* @returns The ActionRowBuilder instance for chaining
*/
addComponents(...components: (ButtonBuilder | StringSelectMenuBuilder | DiscordButtonBuilder | DiscordStringSelectMenuBuilder)[]): this;
/**
* Add a button with simplified API
* @param callback - Function to configure the button
* @returns The ActionRowBuilder instance for chaining
*/
addButton(callback: (button: ButtonBuilder) => void): this;
/**
* Add multiple buttons with simplified API
* @param configs - Array of button configurations
* @returns The ActionRowBuilder instance for chaining
*/
addButtons(configs: Array<(button: ButtonBuilder) => void>): this;
/**
* Add a select menu with simplified API
* @param callback - Function to configure the select menu
* @returns The ActionRowBuilder instance for chaining
*/
addSelectMenu(callback: (menu: StringSelectMenuBuilder) => void): this;
/**
* Build the final Discord.js ActionRowBuilder
* @returns The Discord.js ActionRowBuilder instance
*/
build(): DiscordActionRowBuilder;
/**
* Get the JSON representation of the action row
* @returns The JSON data
*/
toJSON(): any;
}
//# sourceMappingURL=ActionRowBuilder.d.ts.map