import type { APIActionRowComponent, APIActionRowComponentTypes, APIBaseComponent, ComponentType, } from 'discord-api-types/v10'; import type { JSONEncodable } from '../util/jsonEncodable'; export type AnyAPIActionRowComponent = APIActionRowComponentTypes | APIActionRowComponent; /** * Represents a discord component */ export abstract class ComponentBuilder< DataType extends Partial> = APIBaseComponent, > implements JSONEncodable { /** * The API data associated with this component */ public readonly data: Partial; public abstract toJSON(): AnyAPIActionRowComponent; public constructor(data: Partial) { this.data = data; } }