import { BaseInteractiveComponent, type BaseInteractiveComponentData, type EmojiResolvable, type PartialEmoji } from './base.js'; import { ButtonStyle, ComponentType, type APIButtonComponent } from 'discord-api-types/v10'; interface ButtonData extends BaseInteractiveComponentData { style?: ButtonStyle; emoji?: PartialEmoji; label?: string; sku_id?: string; url?: string; disabled?: boolean; } declare class ButtonComponent extends BaseInteractiveComponent { constructor(data?: ButtonData); get Type(): ComponentType.Button; /** * The style of button */ get Style(): ButtonStyle | undefined; /** * The label of button */ get Label(): string | undefined; /** * The customId of a normal button */ get CustomId(): string | undefined; /** * The url of a link button */ get Url(): string | undefined; /** * The skuId of a premium button */ get SkuId(): string | undefined; /** * Manually set the style of button. * @deprecated Use the specific type of button instead * @param style style of the button */ style(style: ButtonStyle): this; /** * Makes a regular button with style `ButtonStyle.Primary` */ primary(): this; /** * Makes the button a regular button with style `ButtonStyle.Secondary` */ secondary(): this; /** * Makes the button a regular button with style `ButtonStyle.Success` */ success(): this; /** * Makes the button a regular button with style `ButtonStyle.Danger` */ danger(): this; /** * Makes the button a link button * @param url The url of the button */ link(url: string): this; /** * Makes the button a premium button * @param skuId The skuId of the button */ premium(skuId: string): this; /** * Sets the label of a regular button * * Pass `undefined` to unset * * @param label The label of the button */ label(label?: string): this; /** * Sets the emoji of a regular button * * Pass `undefined` to unset * * Pass either a `string` or a `PartialEmoji` * * @param emoji The emoji of the button */ emoji(emoji?: EmojiResolvable): this; clone(): this; toJSON(): APIButtonComponent; } export declare function button(): ButtonComponent; export type { ButtonComponent }; //# sourceMappingURL=button.d.ts.map