import React from "react";
import { PaginationProps as CarbonPaginationProps } from "@carbon/react/es/components/Pagination/Pagination";
export interface PaginationProps extends CarbonPaginationProps {
    /**
     * Additional class names.
     */
    className?: string;
    /**
     * Hide dropdown to select how many items will be shown per page.
     */
    hidePageSizeConfiguration?: boolean;
    /**
     * Hide info block about the section of the displayed items.
     */
    hideInfoText?: boolean;
    /**
     * Hide dropdown to select page number directly.
     */
    hidePageSelect?: boolean;
    /**
     * Hide prev/next arrows to navigate through the pages.
     */
    hideNavigationArrows?: boolean;
    /**
     * Element is displayed with dividing borders.
     */
    hideBorders?: boolean;
}
export declare const Pagination: ({ className, hidePageSizeConfiguration, hideInfoText, hidePageSelect, hideNavigationArrows, hideBorders, ...otherProps }: PaginationProps) => React.JSX.Element;
interface IPaginationDetails {
    total: number;
    current: number;
    limit: number;
    minPageSize: number;
}
interface IPaginationOptions {
    initialPageSize?: number;
    pageSizes?: number[];
    presentation?: Omit<PaginationProps, "onChange" | "totalItems" | "pageSizes" | "page" | "pageSize">;
}
export declare const usePagination: ({ pageSizes, presentation, initialPageSize, }: IPaginationOptions) => readonly [IPaginationDetails, React.JSX.Element, (total: number) => void];
export default Pagination;
