import type { FC, ReactNode, Ref } from 'react'; import { type TestableProps } from '../../utils/testId'; import type { PaginationAlign, PaginationPageChangeDetails, PaginationPageSizeChangeDetails, PaginationSize } from './types'; export interface PaginationProps extends TestableProps { /** Total number of data items (Ark `count`). */ count?: number; /** Controlled current page (1-based). */ page?: number; /** Uncontrolled initial page. @default 1 */ defaultPage?: number; /** Controlled items-per-page. */ pageSize?: number; /** Uncontrolled initial items-per-page. @default 10 */ defaultPageSize?: number; /** Pages shown beside the active page. @default 1 */ siblingCount?: number; /** Pages shown at the start/end. @default 1 */ boundaryCount?: number; onPageChange?: (details: PaginationPageChangeDetails) => void; onPageSizeChange?: (details: PaginationPageSizeChangeDetails) => void; /** Trigger element type. @default 'button' */ type?: 'button' | 'link'; getPageUrl?: (details: PaginationPageChangeDetails) => string; /** Visual size. @default 'medium' */ size?: PaginationSize; /** Horizontal alignment of the row. @default 'left' */ align?: PaginationAlign; 'aria-label'?: string; className?: string; children?: ReactNode; ref?: Ref; } export declare const Pagination: FC;