import React from "react"; export interface PaginationProps { /** Current page, 1-based. */ page: number; /** Number of rows per page. Used to derive total pages from `totalItems`. */ pageSize: number; /** Total number of items across all pages. */ totalItems: number; /** Called with the next page (1-based) when prev/next is pressed. */ onPageChange: (page: number) => void; /** * Page-size choices. When provided (and `onPageSizeChange` is set) a * size selector renders, built on the existing `DropdownMenu` primitive. */ pageSizeOptions?: number[]; onPageSizeChange?: (pageSize: number) => void; className?: string; } export interface PaginationState { totalPages: number; /** Clamped current page (never below 1, never above totalPages). */ currentPage: number; canPrev: boolean; canNext: boolean; /** 1-based index of the first item on the current page (0 when empty). */ rangeStart: number; /** 1-based index of the last item on the current page (0 when empty). */ rangeEnd: number; } /** * Pure pagination maths, separated from the view so it can be unit-tested * without a render host. Tolerates degenerate inputs (zero items, negative * page, oversized page) by clamping. */ export declare function getPaginationState(page: number, pageSize: number, totalItems: number): PaginationState; /** * Page controls for paginated lists/tables: prev/next, a "X–Y of Z" summary, * and an optional page-size selector. Disabled states are derived from the * clamped pagination state and exposed to assistive tech via * `accessibilityState`. */ export declare function Pagination({ page, pageSize, totalItems, onPageChange, pageSizeOptions, onPageSizeChange, className, }: PaginationProps): React.JSX.Element; //# sourceMappingURL=pagination.d.ts.map