/** The framework-free page-range model behind Pagination. @internal */ /** One slot in a rendered pagination strip: a page number, or a collapsed run. */ export type PaginationRangeEntry = number | 'ellipsis'; /** Inputs to {@link getPaginationRange}. */ export interface PaginationRangeOptions { /** Current page, 1-based. */ page: number; /** Total number of pages. */ pageCount: number; /** * Pages shown either side of the current one. * @default 1 */ siblingCount?: number | undefined; /** * Pages always shown at each end, however far away the current page is. * @default 1 */ boundaryCount?: number | undefined; } /** * The pages to render for `page` of `pageCount`, using `'ellipsis'` for each collapsed run. * * @example * ```ts * getPaginationRange({ page: 6, pageCount: 20 }); * // [1, 'ellipsis', 5, 6, 7, 'ellipsis', 20] * ``` */ export declare function getPaginationRange({ page, pageCount, siblingCount, boundaryCount, }: PaginationRangeOptions): PaginationRangeEntry[];