UNPKG

@necord/pagination

Version:

A lightweight Pagination module for Necord

35 lines (34 loc) 1.41 kB
import { BaseInteraction, BaseMessageOptions as PageOptions } from 'discord.js'; import { PageBuilder } from './page-builder.helper'; import { NecordPaginationOptions } from '../interfaces'; type PagesFactory = (page: number, maxPages: number) => Promise<PageBuilder> | PageBuilder; type PagesFilter = (interaction: BaseInteraction) => Promise<boolean> | boolean; export declare class PaginationBuilder { customId: string; private _maxPages; get maxPages(): number; set maxPages(value: number); filters: PagesFilter[]; private pages; private pagesFactory; private readonly options; constructor(options: NecordPaginationOptions); setCustomId(customId: string): this; setMaxPages(maxPages: number): this; setPages(pages: PageBuilder[]): this; addPage(page: PageBuilder): this; clearPages(): this; setPagesFactory(factory: PagesFactory): this; setButtonsAppearance(buttons: NecordPaginationOptions['buttons']): this; setAllowSkip(allowSkip: boolean): this; setAllowTraversal(allowTraversal: boolean): this; setFilter(filter: PagesFilter): this; setFilters(filters: PagesFilter[]): this; addFilter(filter: PagesFilter): this; clearFilters(): this; filter(interaction: BaseInteraction): Promise<boolean>; build(page?: number): Promise<PageOptions>; copy(): PaginationBuilder; private generateButtons; } export {};