UNPKG

slack-block-builder

Version:

Maintainable code for interactive Slack messages, modals, home tabs, and workflow steps. A must-have for the Slack Block Kit framework.

36 lines (35 loc) 1.36 kB
import { PaginatorButtonId } from '../internal/constants'; import { PaginatorStateManager, PaginatorState } from '../internal/lib'; import type { BlockBuilder, BlockBuilderReturnableFn, StringReturnableFn, Nullable } from '../internal/types'; export declare type PaginatorActionIdFn = StringReturnableFn<PaginatorState & { buttonId: PaginatorButtonId; }>; export interface PageCountTextFnParams { page: number; totalPages: number; } export declare type PaginatorPageCountTextFn = (params: PageCountTextFnParams) => string; export declare type PaginatorBuilderFn<T> = BlockBuilderReturnableFn<{ item: T; }>; interface PaginatorUIComponentParams<T> { items: T[]; paginator: PaginatorStateManager; nextButtonText: Nullable<string>; previousButtonText: Nullable<string>; pageCountTextFunction: Nullable<PaginatorPageCountTextFn>; actionIdFunction: PaginatorActionIdFn; builderFunction: PaginatorBuilderFn<T>; } export declare class PaginatorUIComponent<T> { private readonly items; private readonly paginator; private readonly nextButtonText; private readonly previousButtonText; private readonly pageCountTextFunction; private readonly actionIdFunction; private readonly builderFunction; constructor(params: PaginatorUIComponentParams<T>); getBlocks(): BlockBuilder[]; } export {};