import { TextChannel, Role } from 'discord.js'; import { ExtendedInteraction } from './typedef'; import { CustomizableButton } from './typedef/CustomizableButton'; /** * **Documentation Url** of the type: https://simplyd.js.org/docs/systems/betterBtnRole#buttons */ export type BetterBtnRoleButtons = { role?: Role; } & CustomizableButton; /** * **Documentation Url** of the type: https://simplyd.js.org/docs/systems/betterBtnRole#messagecontents */ export interface MessageContents { invalidMessage?: string; otherUserMessage?: string; update?: string; success?: string; overload?: string; noButton?: string; } /** * **Documentation Url** of the options: https://simplyd.js.org/docs/systems/betterBtnRole#betterbtnoptions */ export type betterbtnOptions = { strict?: boolean; type?: 'Add' | 'Remove'; channel?: TextChannel; button?: BetterBtnRoleButtons; messageId?: string; contents?: MessageContents; }; /** * ## betterBtnRole * ### A **Button Role builder** that lets **admins create** button roles. | *Requires: [**manageBtnRole()**](https://simplyd.js.org/docs/handler/manageBtnRole)* * * @async * @param {ExtendedInteraction} interaction [`ExtendedInteraction`](https://simplyd.js.org/docs/typedef/extendedinteraction) * @param {betterbtnOptions} options [`betterbtnOptions`](https://simplyd.js.org/docs/systems/betterbtnrole#betterbtnoptions) * @returns {Promise} `void` * * --- * * @link [`Documentation`](https://simplyd.js.org/docs/systems/betterBtnRole) * @example simplydjs.betterBtnRole(interaction) */ export declare function betterBtnRole(interaction: ExtendedInteraction, options?: betterbtnOptions): Promise;