/// import { ActionRow, Embed, TextChannel, EmbedAuthorData, EmbedFooterData, MessagePayload, InteractionCollector, ButtonInteraction } from 'discord.js'; import { Message, MessageOptions } from '../types'; declare const _default: { new (channel: TextChannel | { send: (content: MessageOptions) => Promise; }, data: { [key: string]: any; }): { /** Channel object or an object with send as a function which returns a `Message`. */ channel: TextChannel | { send: (content: MessageOptions) => Promise; }; /** The content to be dynamically adjusted and displayed */ content: MessageOptions | MessagePayload; /** UserId of person who can interact with the embed. */ user?: string; /** Message object which contains the interactable embed */ message: Message; /** Button collector used to collect interactions. */ collector: InteractionCollector; /** Embed pages... Automagically generated */ pages: Array; /** Current page number. */ page: number; /** Pages with embed data for extra configuration for each page. */ dataPages: Array; /** General embed color. (Can be specified differently for each page using `dataPages`) */ color?: string; /** General embed url. (Can be specified differently for each page using `dataPages`) */ url?: string; /** General embed title. (Can be specified differently for each page using `dataPages`) */ title?: string; /** General author object. (Can be specified differently for each page using `dataPages`) */ author?: EmbedAuthorData; /** General footer object. (Can be specified differently for each page using `dataPages`) */ footer?: EmbedFooterData; /** General embed thumbnail. (Can be specified differently for each page using `dataPages`) */ thumbnail?: string; /** General embed large image. (Can be specified differently for each page using `dataPages`) */ image?: string; /** General embed description. (Can be specified differently for each page using `dataPages`) */ description?: string; /** Function used to modify each embed page for better customizability. Edit the embed object provided instead of returning one. */ pageGen?: (embed: Embed) => void | Promise; /** Whether to display the refresh button used by users to manually refrest embed data. */ refresh: boolean; /** Function called to refresh embed data when user manually requests to. Not needed if `refresh` is false. */ refreshData?: () => unknown; /** Whether to send the paginate embed in an ephemeral message. (Only for application command response.) */ ephemeral: boolean; /** The time after which the button collector stops (in milliseconds). */ time: number; /** Used to store timeouts. */ timeout: NodeJS.Timeout; filter(interaction: ButtonInteraction): boolean; generateButtons(size: number, currentPage: number, disabled?: boolean): Array; generatePages(): void; /** Sends the Paginate embed and starts the button collection. */ start(options?: { [key: string]: any; }, page?: number): Promise; /** Use this to update the data of the pages. */ update(options: { [key: string]: any; }, page?: number): Promise; /** Stops the button collector. */ stop(): Promise; generateMessage(disabled?: boolean): MessageOptions; _handleInteraction(interaction: ButtonInteraction): Promise; }; }; export = _default;