import * as React from 'react'; type PaginationSize = 'xs' | 'sm' | 'md' | 'lg'; type PaginationVariant = 'default' | 'outlined'; type PaginationShape = 'square' | 'rounded' | 'circle'; type PrevNextStyle = 'icon-text' | 'icon-only'; type PaginationAlignment = 'left' | 'center' | 'right'; type ActiveColor = 'primary' | 'info' | 'warning' | 'success' | 'destructive'; type PaginationType = 'default' | 'previous-next' | 'with-buttons' | 'combine' | 'combine-steps' | 'minimal' | 'first-last' | 'page-number' | 'left-right-chevron' | 'page-dropdown' | 'page-dropdown-nav' | 'with-underline' | 'outline' | 'box-style' | 'page-default' | 'page-minimal' | 'card-default' | 'card-minimal' | 'card-button-group'; declare const paginationDotsVariants: (props?: ({ size?: "lg" | "md" | null | undefined; style?: "dot" | "line" | null | undefined; framed?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; declare const paginationDotIndicatorVariants: (props?: ({ size?: "lg" | "md" | null | undefined; style?: "dot" | "line" | null | undefined; current?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type PaginationDotsStyle = 'dot' | 'line'; type PaginationDotsSize = 'md' | 'lg'; interface PaginationDotsProps extends Omit, 'style'> { total?: number; current?: number; variant?: PaginationDotsStyle; size?: PaginationDotsSize; framed?: boolean; onDotClick?: (index: number) => void; } declare function PaginationDots({ className, total, current, variant, size, framed, onDotClick, ...props }: PaginationDotsProps): React.JSX.Element; declare namespace PaginationDots { var displayName: string; } interface PaginationProps extends React.ComponentProps<'nav'> { /** Pagination layout type */ type?: PaginationType; /** Size of pagination elements */ size?: PaginationSize; /** Visual variant of inactive buttons */ variant?: PaginationVariant; /** Shape of page number buttons */ shape?: PaginationShape; /** Style of previous/next buttons */ prevNextStyle?: PrevNextStyle; /** Current active page (1-indexed) */ currentPage?: number; /** Total number of pages */ totalPages?: number; /** Number of sibling pages to show around current page */ siblingCount?: number; /** Callback when page changes */ onPageChange?: (page: number) => void; /** Show page numbers */ showPageNumbers?: boolean; /** Previous button text */ previousText?: string; /** Next button text */ nextText?: string; /** Items per page (for page-dropdown type display) */ itemsPerPage?: number; /** Items per page options */ perPageOptions?: number[]; /** Callback when items per page changes */ onPerPageChange?: (perPage: number) => void; /** Color of the active page indicator */ activeColor?: ActiveColor; } declare function Pagination({ className, type, size, variant, shape, prevNextStyle, currentPage, totalPages, siblingCount, onPageChange, showPageNumbers, previousText, nextText, itemsPerPage, perPageOptions, onPerPageChange, activeColor, onFocusCapture, onBlurCapture, ...props }: PaginationProps): React.JSX.Element; declare namespace Pagination { var displayName: string; } export type { ActiveColor, PaginationAlignment, PaginationDotsProps, PaginationDotsSize, PaginationDotsStyle, PaginationProps, PaginationShape, PaginationSize, PaginationType, PaginationVariant, PrevNextStyle, }; export { Pagination, PaginationDots, paginationDotIndicatorVariants, paginationDotsVariants, };