import { type ComponentProps, type ReactNode } from "react";
import type { ThemingProps } from "../../types";
import type { PaginationButtonProps, PaginationButtonTheme } from "./PaginationButton";
export interface PaginationTheme {
    base: string;
    layout: PaginationLayoutTheme;
    pages: PaginationPagesTheme;
}
export interface PaginationRootTheme {
    base: string;
}
export interface PaginationLayoutTheme {
    table: {
        base: string;
        span: string;
    };
}
export interface PaginationPagesTheme {
    base: string;
    showIcon: string;
    previous: PaginationNavigationTheme;
    next: PaginationNavigationTheme;
    selector: PaginationButtonTheme;
}
export interface PaginationNavigationTheme {
    base: string;
    icon: string;
}
export interface PaginationProps extends ComponentProps<"nav">, ThemingProps<PaginationTheme> {
    currentPage: number;
    layout?: "navigation" | "pagination" | "table";
    nextLabel?: string;
    onPageChange: (page: number) => void;
    previousLabel?: string;
    renderPaginationButton?: (props: PaginationButtonProps) => ReactNode;
    showIcons?: boolean;
    totalPages: number;
}
export declare const Pagination: import("react").ForwardRefExoticComponent<Omit<PaginationProps, "ref"> & import("react").RefAttributes<HTMLElement>>;
