import type { DOMRenderProps } from "../../utils/dom";
import type { PaginationVariants } from "@heroui/styles";
import type { ComponentPropsWithRef, ReactNode } from "react";
import React from "react";
import { Button as ButtonPrimitive } from "react-aria-components/Button";
interface PaginationRootProps<E extends keyof React.JSX.IntrinsicElements = "nav"> extends DOMRenderProps<E, undefined> {
    children: ReactNode;
    className?: string;
    /** Pagination size. */
    size?: PaginationVariants["size"];
}
declare const PaginationRoot: {
    <E extends keyof React.JSX.IntrinsicElements = "nav">({ children, className, size, ...props }: PaginationRootProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationRootProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationSummaryProps<E extends keyof React.JSX.IntrinsicElements = "div"> extends DOMRenderProps<E, undefined> {
    children: ReactNode;
    className?: string;
}
declare const PaginationSummary: {
    <E extends keyof React.JSX.IntrinsicElements = "div">({ children, className, ...props }: PaginationSummaryProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationSummaryProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationContentProps<E extends keyof React.JSX.IntrinsicElements = "ul"> extends DOMRenderProps<E, undefined> {
    children: ReactNode;
    className?: string;
}
declare const PaginationContent: {
    <E extends keyof React.JSX.IntrinsicElements = "ul">({ children, className, ...props }: PaginationContentProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationContentProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationItemProps<E extends keyof React.JSX.IntrinsicElements = "li"> extends DOMRenderProps<E, undefined> {
    children: ReactNode;
    className?: string;
}
declare const PaginationItem: {
    <E extends keyof React.JSX.IntrinsicElements = "li">({ children, className, ...props }: PaginationItemProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationItemProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationLinkProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
    className?: string;
    children: React.ReactNode;
    isActive?: boolean;
}
declare const PaginationLink: {
    ({ children, className, isActive, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationPreviousProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
    className?: string;
    children: React.ReactNode;
}
declare const PaginationPrevious: {
    ({ children, className, ...props }: PaginationPreviousProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationPreviousIconProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const PaginationPreviousIcon: {
    <E extends keyof React.JSX.IntrinsicElements = "span">({ children, className, ...props }: PaginationPreviousIconProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationPreviousIconProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationNextProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
    className?: string;
    children: React.ReactNode;
}
declare const PaginationNext: {
    ({ children, className, ...props }: PaginationNextProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationNextIconProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const PaginationNextIcon: {
    <E extends keyof React.JSX.IntrinsicElements = "span">({ children, className, ...props }: PaginationNextIconProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationNextIconProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
interface PaginationEllipsisProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    className?: string;
}
declare const PaginationEllipsis: {
    <E extends keyof React.JSX.IntrinsicElements = "span">({ className, ...props }: PaginationEllipsisProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof PaginationEllipsisProps<E>>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export { PaginationRoot, PaginationSummary, PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationPreviousIcon, PaginationNext, PaginationNextIcon, PaginationEllipsis, };
export type { PaginationRootProps, PaginationSummaryProps, PaginationContentProps, PaginationItemProps, PaginationLinkProps, PaginationPreviousProps, PaginationPreviousIconProps, PaginationNextProps, PaginationNextIconProps, PaginationEllipsisProps, };
