import { PaginationProps } from '../PaginationTypes'; /** * @param paginationRootWidth the width of the pagination root element * * @returns a number that represents how many nodes can fit on the screen */ export declare const calculateMaxNavNodes: (paginationRootWidth: number) => number; /** * @param currentPageIndex the currently viewed page * @param onPageChange the method that must be called when a nav node is clicked * @param totalPages the total number of pages * * @returns an array of nav nodes (no seperators) */ export declare const buildAllNavItems: (currentPageIndex: number, onPageChange: PaginationProps["onPageChange"], totalPages: number) => import("react/jsx-runtime").JSX.Element[]; /** * Assumes that there are at minimum five nodes available as that is the minimum * number of nodes needed to render pagination properly. * Also assumes that there are at least five pages, as this method is _only_ * called by `buildNavItems`, which handles the case of <5 pages. * * @param currentPageIndex the currently viewed page * @param maxNavNodes the maximum number of nodes we can return * @param onPageChange the method that must be called when a nav node is clicked * @param totalPages the total number of pages * * @returns an array of nav nodes */ export declare const buildNavItemsWithSeparators: (currentPageIndex: number, maxNavNodes: number, onPageChange: PaginationProps["onPageChange"], totalPages: number) => import("react/jsx-runtime").JSX.Element[]; /** * This function calculates the number of pages that can be shown in the * pagination navigation and returns an array of nav nodes. It assumes * that there are at minimum five nodes available as that is the minimum * number of nodes needed to render pagination properly. * * @param currentPageIndex the currently viewed page * @param maxNavNodes the maximum number of nodes we can return * @param onPageChange the method that must be called when a nav node is clicked * @param totalPages the total number of pages * * @returns an array of nav nodes */ export declare const buildNavItems: (currentPageIndex: number, maxNavNodes: number, onPageChange: PaginationProps["onPageChange"], totalPages: number, buildAllNavItemsOverride?: () => React.ReactNode[], // for testing buildNavItemsWithSeparatorsOverride?: () => React.ReactNode[]) => import('react').ReactNode[] | import("react/jsx-runtime").JSX.Element[];