import { TextChannel, GuildMember } from 'discord.js'; import { ExtendedInteraction, ExtendedMessage, CustomizableEmbed, CustomizableButton } from './typedef'; /** * **Documentation Url** of the type: https://simplyd.js.org/docs/systems/suggest#suggestbuttons */ export interface SuggestButtons { votedInfo?: CustomizableButton; upvote?: CustomizableButton; downvote?: CustomizableButton; } /** * **Documentation Url** of the type: https://simplyd.js.org/docs/systems/suggest#progress */ export interface Progress { up: string; down: string; blank: string; } /** * **Documentation Url** of the type: https://simplyd.js.org/docs/systems/suggest#suggestoptions */ export type suggestOptions = { embed?: CustomizableEmbed; channelId?: string | TextChannel; suggestion?: string; buttons?: SuggestButtons; progress?: Progress; strict: boolean; }; export type SuggestResolve = { suggestion: string; channel: TextChannel; user: GuildMember; }; /** * ## suggest * ### An **Beautiful** suggestion system with buttons ;D | *Requires: [**manageSuggest()**](https://simplyd.js.org/docs/handler/manageSuggest)* * * @async * @param {ExtendedMessage | ExtendedInteraction} msgOrint [`ExtendedMessage`](https://simplyd.js.org/docs/typedef/extendedmessage) | [`ExtendedInteraction`](https://simplyd.js.org/docs/typedef/extendedinteraction) * @param {suggestOptions} options [`suggestOptions`](https://simplyd.js.org/docs/systems/suggest#suggestoptions) * @returns {Promise} [`SuggestResolve`](https://simplyd.js.org/docs/systems/suggest#suggestresolve) * * --- * * @link [`Documentation`](https://simplyd.js.org/docs/systems/suggest) * @example simplydjs.suggest(interaction, { channelId: '1234567890123' }) */ export declare function suggest(msgOrint: ExtendedMessage | ExtendedInteraction, options?: suggestOptions): Promise;