@ayanaware/bentocord
Version:
Bentocord is a Bento plugin designed to rapidly build fully functional Discord Bots.
36 lines (35 loc) • 1.48 kB
TypeScript
import { ButtonContext } from '../components/contexts/ButtonContext';
import { SelectContext } from '../components/contexts/SelectContext';
import { Button } from '../components/helpers/Button';
import { Select } from '../components/helpers/Select';
import type { BaseContext } from '../contexts/BaseContext';
import { Prompt, PromptOptions } from './Prompt';
import { AnyPaginator } from './helpers/AnyPaginator';
export interface PaginationOptions extends PromptOptions {
/** always force showing page selector; even if there is less then 5 pages */
forcePageSelect?: boolean;
}
export declare enum PaginationEmojis {
FIRST = "\u23EE\uFE0F",
PREV = "\u25C0\uFE0F",
NEXT = "\u25B6\uFE0F",
LAST = "\u23ED\uFE0F",
CLOSE = "\u2716\uFE0F"
}
export declare class PaginationPrompt<T = void, U = T> extends Prompt<T> {
readonly paginator: AnyPaginator<U>;
protected options: PaginationOptions;
protected btnFirst: Button;
protected btnPrev: Button;
protected btnNext: Button;
protected btnLast: Button;
protected btnClose: Button;
protected sltPage: Select;
constructor(ctx: BaseContext, paginator?: AnyPaginator<U>, options?: PaginationOptions);
start(): Promise<T>;
close(): Promise<void>;
draw(): Promise<void>;
protected handleButton(btn: ButtonContext): Promise<void>;
protected handleSelect(slt: SelectContext): Promise<void>;
protected handleText(response: string): Promise<[boolean, T]>;
}