/** * paginate - the pure page-range algorithm behind . Given the * current page and total page count, returns the sequence of page numbers and * ellipsis markers to render (boundary pages + a window of siblings around the * current page, with gaps collapsed to an ellipsis). Framework-free + pure so * it is unit-tested on its own. */ export type PaginationItem = number | 'ellipsis-left' | 'ellipsis-right'; export type PaginationRangeOptions = { /** 1-based current page. */ page: number; /** Total number of pages. */ pageCount: number; /** Pages shown on each side of the current page. Default 1. */ siblingCount?: number; /** Pages pinned at each end. Default 1. */ boundaryCount?: number; }; /** Build the page/ellipsis sequence (e.g. `[1, 'ellipsis-left', 4, 5, 6, 'ellipsis-right', 20]`). */ export declare function paginationRange(options: PaginationRangeOptions): PaginationItem[];