seyfert
Version:
The most advanced framework for discord bots
74 lines (73 loc) • 3.14 kB
TypeScript
import { type RestOrArray } from '../common';
import { type APICheckboxGroupComponent, type APICheckboxGroupOption } from '../types';
import { BaseComponentBuilder, type OptionValuesLength } from './Base';
export declare class CheckboxGroup extends BaseComponentBuilder<APICheckboxGroupComponent> {
#private;
constructor(data?: Partial<APICheckboxGroupComponent>);
/**
* Sets the ID for the checkbox group.
* @param id - The ID for the checkbox group.
* @return The current CheckboxGroup instance.
* @remarks The ID is used by Discord to identify the component when an interaction is received. It must be unique within the message.
*/
setId(id: number): this;
/**
* Sets the custom ID for the checkbox group.
* @param customId - The custom ID for the checkbox group.
* @returns The current CheckboxGroup instance.
*/
setCustomId(customId: string): this;
/**
* Sets the maximum and minimum number of selected values for the checkbox group.
* [max = options length] 10, [min = 1] 0
* @param options - The maximum and minimum values.
* @returns The current CheckboxGroup instance.
*/
setSelectionLimit({ max, min }: Partial<OptionValuesLength>): this;
/**
* Sets whether the checkbox group is required.
* @param required - Whether the checkbox group is required (true by discord side).
* @returns The current CheckboxGroup instance.
*/
setRequired(required: boolean): this;
setOptions(...options: RestOrArray<CheckboxGroupOption>): this;
addOptions(...options: RestOrArray<CheckboxGroupOption>): this;
toJSON(): APICheckboxGroupComponent;
}
export declare class CheckboxGroupOption {
data: APICheckboxGroupOption;
constructor(data: APICheckboxGroupOption);
/**
* Sets the value of the checkbox group option.
* @param value - The value of the checkbox group option.
* @return The current CheckboxGroupOption instance.
* @remarks The value is sent to the bot when the option is selected. It must be unique within the options of the checkbox group.
* The value can be up to 100 characters long.
*/
setValue(value: string): this;
/**
* Sets the label of the checkbox group option.
* @param label - The label of the checkbox group option.
* @return The current CheckboxGroupOption instance.
* @remarks The label is displayed to the user. It can be up to 100 characters long.
*/
setLabel(label: string): this;
/**
* Sets the description of the checkbox group option.
* @param description - The description of the checkbox group option.
* @return The current CheckboxGroupOption instance.
*/
setDescription(description: string): this;
/**
* Sets whether the checkbox group option is default.
* @param value - Whether the checkbox group option is default.
* @return The current CheckboxGroupOption instance.
*/
setDefault(value: boolean): this;
toJSON(): {
value: string;
label: string;
description?: string;
default?: boolean;
};
}