import { BaseComponent, type BaseComponentData, type PartList } from './base.js'; import type { FlattenableArray } from '../utils/normalize.js'; import type { ButtonComponent } from './button.js'; import type { ChannelSelectComponent } from './channelSelect.js'; import type { MentionableSelectComponent } from './mentionableSelect.js'; import type { RoleSelectComponent } from './roleSelect.js'; import type { StringSelectComponent } from './stringSelect.js'; import type { UserSelectComponent } from './userSelect.js'; import { ComponentType, type APIActionRowComponent } from 'discord-api-types/v10'; import type { APIComponentInMessageActionRow } from 'discord-api-types/v9'; type ActionRowChild = ButtonComponent | StringSelectComponent | UserSelectComponent | RoleSelectComponent | ChannelSelectComponent | MentionableSelectComponent; interface ActionRowData extends BaseComponentData { components: ActionRowChild[]; } declare class ActionRowComponent extends BaseComponent> implements PartList { constructor(data: ActionRowData); get Type(): ComponentType.ActionRow; /** * The components in the action row */ get Components(): readonly ActionRowChild[]; first(): ActionRowChild | undefined; last(): ActionRowChild | undefined; at(index: number): ActionRowChild | undefined; push(...parts: FlattenableArray): this; pop(): ActionRowChild | undefined; shift(): ActionRowChild | undefined; unshift(...parts: FlattenableArray): this; insert(index: number, ...parts: FlattenableArray): this; remove(...parts: ActionRowChild[]): this; removeAt(index: number, count?: number): ActionRowChild[]; splice(index: number, count: number, ...parts: FlattenableArray): ActionRowChild[]; /** * Replace components in the action row * @param parts The new components to replace the old with */ components(...parts: FlattenableArray): this; clone(): this; toJSON(): APIActionRowComponent; } /** * Creates an ActionRowComponent * @param components The components to add to the action row */ export declare function actionRow(...components: FlattenableArray): ActionRowComponent; export type { ActionRowComponent }; //# sourceMappingURL=actionRow.d.ts.map