import type * 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?: "md" | "lg" | null | undefined;
    style?: "line" | "dot" | null | undefined;
    framed?: boolean | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
declare const paginationDotIndicatorVariants: (props?: ({
    size?: "md" | "lg" | null | undefined;
    style?: "line" | "dot" | 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<React.ComponentProps<'div'>, '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): import("react/jsx-runtime").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, ...props }: PaginationProps): import("react/jsx-runtime").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, };
