import { PaginatorUIComponent, PaginatorPageCountTextFn, PaginatorActionIdFn, PaginatorBuilderFn } from './paginator-ui-component'; import { AccordionUIComponent, AccordionTitleTextFn, AccordionActionIdFn, AccordionBuilderFn, AccordionIsExpandableFn } from './accordion-ui-component'; import { PaginatorStateManagerParams, AccordionStateManagerParams } from '../internal'; export type { PaginatorUIComponent, AccordionUIComponent }; interface PaginatorBaseParams { items: T[]; nextButtonText?: string; previousButtonText?: string; pageCountText?: PaginatorPageCountTextFn; actionId: PaginatorActionIdFn; blocksForEach: PaginatorBuilderFn; } export declare type PaginatorParams = PaginatorBaseParams & PaginatorStateManagerParams; /** * @param {Object} [params] Parameters passed to the constructor. * @param {string} [params.items] An array of items to be displayed in the paginated content. * @param {int} [params.page] The number of the page to display. * @param {int} [params.perPage] The number of items to display on a page. * @param {int} [params.totalItems] The total number of items in the data set across all pages. * @param {PaginatorActionIdFn} [params.actionId] A function that receives pagination data and returns a string to set as the action IDs of the navigation buttons. * @param {PaginatorBuilderFn} [params.blocksForEach] A function that receives an object with a single item and returns the blocks to create for that item. * @param {string} [params.nextButtonText] The text to display on the button that moves forward in the pagination. * @param {string} [params.previousButtonText] The text to display on the button that moves backward in the pagination. * @param {PaginatorPageCountTextFn} [params.pageCountText] A function to create a custom page count in the UI. * * {@link https://www.blockbuilder.dev/#/components/paginator|View in Block Builder Documentation} */ export declare function Paginator(params: PaginatorParams): PaginatorUIComponent; export declare type EasyPaginatorParams = Omit, 'totalItems'>; /** * @param {Object} [params] Parameters passed to the constructor. * @param {string} [params.items] An array of items to be displayed in the paginated content. * @param {int} [params.page] The number of the page to display. * @param {int} [params.perPage] The number of items to display on a page. * @param {PaginatorActionIdFn} [params.actionId] A function that receives pagination data and returns a string to set as the action IDs of the navigation buttons. * @param {PaginatorBuilderFn} [params.blocksForEach] A function that receives an object with a single item and returns the blocks to create for that item. * @param {string} [params.nextButtonText] The text to display on the button that moves forward in the pagination. * @param {string} [params.previousButtonText] The text to display on the button that moves backward in the pagination. * @param {PaginatorPageCountTextFn} [params.pageCountText] A function to create a custom page count in the UI. * * {@link https://www.blockbuilder.dev/#/components/easy-paginator|View in Block Builder Documentation} */ export declare function EasyPaginator(params: EasyPaginatorParams): PaginatorUIComponent; interface AccordionBaseParams { items: T[]; expandButtonText?: string; collapseButtonText?: string; titleText: AccordionTitleTextFn; actionId: AccordionActionIdFn; blocksForExpanded: AccordionBuilderFn; isExpandable?: AccordionIsExpandableFn; } export declare type AccordionParams = AccordionBaseParams & AccordionStateManagerParams; /** * @param {Object} [params] Parameters passed to the constructor. * @param {string} [params.items] An array of items to be displayed in the expandable/collapsable content. * @param {AccordionTitleTextFn} [params.titleText] A function that receives an object with a single item and returns a string to be displayed next to the expand/collapse button. * @param {AccordionActionIdFn} [params.actionId] A function that receives the accordion state data and returns a string to set as the action IDs of the expand/collapse buttons. * @param {AccordionBuilderFn} [params.blocksForExpanded] A function that receives an object with a single item and returns the blocks to create for that item. * @param {AccordionIsExpandableFn} [params.isExpandable] A function that receives an item and and returns a boolean that tells if the section should have an expand/collapse button. * @param {string} [params.expandButtonText] The text to display on the button that expands an item in the UI. * @param {string} [params.collapseButtonText] The text to display on the button that collapses an item in the UI. * * {@link https://www.blockbuilder.dev/#/components/accordion|View in Block Builder Documentation} */ export declare function Accordion(params: AccordionParams): AccordionUIComponent; declare const components: { Paginator: typeof Paginator; EasyPaginator: typeof EasyPaginator; Accordion: typeof Accordion; }; export { components as Components };