/** * @fileoverview DataPagination — a total-driven, batteries-included pagination * control. A fully additive sibling to the `Pagination` compound (NOT a rename * or overload of it): give it `total` + `pageSize` (or a precomputed * `pageCount`) and it renders prev/next controls, numbered page links with * ellipsis truncation, an optional page-size `` built on {@link NativeSelect}. Requires `onPageSizeChange`. Default: `false`. */ showPageSize?: boolean; /** Selectable page sizes for the size selector. Default: `[10, 20, 50, 100]`. */ pageSizeOptions?: readonly number[]; /** * Fired with the chosen page size. The component does NOT internally manage * `pageSize` (controlled-only) — keeps a single source of truth with the * consumer. Changing `pageSize` does NOT auto-correct the active page when it * exceeds the new page count; reset the page yourself (e.g. `setPage(1)`). */ onPageSizeChange?: (pageSize: number) => void; /** Visual placement of summary/size-selector vs the page numbers. Default: `"split"` (summary left, numbers center, size right). */ layout?: DataPaginationLayout; /** Button-variant size token for prev/next + number links (forwarded to PaginationLink). Default: `"md"` (icon-square numbers + `md` controls). */ size?: DataPaginationSize; /** Accessible label for the nav landmark. Default: `"pagination"`. */ "aria-label"?: string; /** i18n / label overrides. */ labels?: DataPaginationLabels; } /** * Total-driven pagination control. Composes the existing `Pagination` compound * + the {@link usePagination} hook into a single semantic component with an * optional page-size selector and "X–Y of N" summary. Controlled or * uncontrolled. Inherits the `surface`/`radius`/`animated`/`iconWeight` axes * from {@link SaasflareShell} and forwards them into the compound parts so the * whole control is visually coherent. * * For full, hand-wired control over each link, use the lower-level `Pagination` * compound directly. * * @component * @layer core * * @example * // Uncontrolled, total-driven * * * @example * // Controlled with page-size selector (table footer) * { setSize(s); setPage(1) }} * /> * * @example * // Compact: controls + summary only, no numbers * */ export declare function DataPagination({ total, pageCount, pageSize, page, defaultPage, onPageChange, siblings, boundaries, showControls, showNumbers, showSummary, showPageSize, pageSizeOptions, onPageSizeChange, layout, size, className, surface, radius, animated, iconWeight, labels, "aria-label": ariaLabel, ...props }: DataPaginationProps): React.JSX.Element; export {};