import * as React from 'react'; import { Button } from '../button'; /** * Page navigation controls for paginated data sets. * * @description * Composes horizontal pagination with numbered links, ellipses, and * Previous/Next controls. Follows ARIA navigation landmark patterns. * * @ai-rules * 1. Compose in order: `Pagination > PaginationContent > PaginationItem > (PaginationLink | PaginationNext | PaginationPrevious)`. * 2. In SPAs, set `href="#"` on `` and handle page change via `onClick` to prevent native page reloads. * 3. Mark the currently active page with `isActive={true}` on ``. */ interface PaginationProps extends React.ComponentProps<'nav'> { /** Aria-label for the navigation landmark. @default "pagination" */ navLabel?: string; } declare function Pagination({ className, navLabel, ...props }: PaginationProps): React.JSX.Element; declare function PaginationContent({ className, ...props }: React.ComponentProps<'ul'>): React.JSX.Element; declare function PaginationItem({ ...props }: React.ComponentProps<'li'>): React.JSX.Element; type PaginationLinkProps = { isActive?: boolean; disabled?: boolean; } & Pick, 'size'> & React.ComponentProps<'a'>; declare const PaginationLink: React.ForwardRefExoticComponent & React.RefAttributes>; interface PaginationPreviousProps extends React.ComponentProps { /** Visible text next to the icon. @default "Previous" */ label?: string; /** Screen-reader label. @default "Go to previous page" */ ariaLabel?: string; } declare function PaginationPrevious({ className, disabled, label, ariaLabel, ...props }: PaginationPreviousProps): React.JSX.Element; interface PaginationNextProps extends React.ComponentProps { /** Visible text next to the icon. @default "Next" */ label?: string; /** Screen-reader label. @default "Go to next page" */ ariaLabel?: string; } declare function PaginationNext({ className, disabled, label, ariaLabel, ...props }: PaginationNextProps): React.JSX.Element; declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element; export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };