import { type ComponentPropsWithoutRef } from 'react'; import { type VariantProps } from 'class-variance-authority'; type PaginationSize = 'sm' | 'md' | 'lg'; declare const paginationButtonVariants: (props?: ({ size?: "sm" | "md" | "lg" | null | undefined; active?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type PageToken = number | 'ellipsis-start' | 'ellipsis-end'; export declare function buildPageRange(current: number, totalPages: number, siblingCount?: number, boundaryCount?: number): PageToken[]; export interface PaginationHandle { getCurrentPage: () => number; getTotalPages: () => number; goToPage: (page: number) => void; next: () => void; previous: () => void; } export interface PaginationProps extends ComponentPropsWithoutRef<'nav'> { /** Total number of pages. */ totalPages: number; /** Controlled current page (1-indexed). */ page?: number; /** Default current page for uncontrolled use. */ defaultPage?: number; /** Fires when the current page changes. */ onPageChange?: (page: number) => void; /** Siblings shown on either side of the active page. @default 1 */ siblingCount?: number; /** Boundary pages kept at each end. @default 1 */ boundaryCount?: number; /** Visual size. @default 'md' */ size?: PaginationSize; /** Show "first"/"last" chevrons alongside prev/next. @default false */ showEndpoints?: boolean; /** Horizontal alignment of the pagination within its container. @default 'center' */ align?: 'start' | 'center' | 'end'; /** Optional page-size select config. */ pageSize?: { value: number; options?: number[]; onChange: (size: number) => void; }; /** Use `Intl.NumberFormat` for page numbers (Arabic-Indic digits, etc.). */ useLocaleDigits?: boolean; /** Locale override for digit formatting. */ locale?: string; } declare const Pagination: import("react").ForwardRefExoticComponent>; export interface PaginationListProps extends ComponentPropsWithoutRef<'ul'> { size?: PaginationSize; } declare const PaginationList: import("react").ForwardRefExoticComponent>; export type PaginationItemProps = ComponentPropsWithoutRef<'li'>; declare const PaginationItem: import("react").ForwardRefExoticComponent, HTMLLIElement>, "ref"> & import("react").RefAttributes>; export interface PaginationLinkProps extends Omit, 'size'>, VariantProps { isActive?: boolean; size?: PaginationSize; } declare const PaginationLink: import("react").ForwardRefExoticComponent>; interface NavButtonProps { size?: PaginationSize; disabled?: boolean; onClick?: () => void; } declare const PaginationPrevious: import("react").ForwardRefExoticComponent>; declare const PaginationNext: import("react").ForwardRefExoticComponent>; export type PaginationEllipsisProps = ComponentPropsWithoutRef<'span'>; declare const PaginationEllipsis: import("react").ForwardRefExoticComponent, HTMLSpanElement>, "ref"> & import("react").RefAttributes>; export { Pagination, PaginationList, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, PaginationEllipsis, }; //# sourceMappingURL=pagination.d.ts.map