import { PaginationProps } from './types';
/**
 * Pagination - Navigation controls for paginated data
 *
 * A comprehensive pagination component that provides navigation controls for
 * paginated content. Supports page navigation with arrow buttons and numbered
 * page buttons, optional manual page input, and optional rows per page selection.
 * Uses PaginationContextProvider to manage page state and navigation.
 *
 * Component structure:
 * - PaginationContextProvider (manages page state - required)
 *   - Pagination (main component)
 *     - RowsPerPageDropdown (optional)
 *     - PageNumberInput (optional)
 *     - ArrowButton (previous)
 *     - PaginationButtons (numbered pages)
 *     - ArrowButton (next)
 *
 * @category Components
 * @subcategory Navigation
 *
 * @example
 * ```tsx
 * // Basic pagination
 * <PaginationContextProvider selectedPage={1}>
 *   <Pagination pagesCount={10} />
 * </PaginationContextProvider>
 * ```
 *
 * @example
 * ```tsx
 * // With rows per page dropdown
 * <PaginationContextProvider selectedPage={1} defaultPerPage={25}>
 *   <Pagination
 *     pagesCount={20}
 *     isRowPerPageVisible={true}
 *     rowPerPageProps={{
 *       rowsPerPageText: "Items per page",
 *       rowsPerPageList: [
 *         { id: 1, value: 10 },
 *         { id: 2, value: 25 },
 *         { id: 3, value: 50 },
 *         { id: 4, value: 100 },
 *       ],
 *     }}
 *   />
 * </PaginationContextProvider>
 * ```
 *
 * @example
 * ```tsx
 * // With manual page input
 * <PaginationContextProvider selectedPage={3}>
 *   <Pagination
 *     pagesCount={15}
 *     isPageSettingVisible={true}
 *     pageNumberPlaceholder="Go to page"
 *     errorTooltip="Please enter a valid page number"
 *   />
 * </PaginationContextProvider>
 * ```
 *
 * @example
 * ```tsx
 * // Disabled pagination
 * <PaginationContextProvider selectedPage={5}>
 *   <Pagination pagesCount={10} isDisabled />
 * </PaginationContextProvider>
 * ```
 *
 * @see {@link PaginationContextProvider} - Required context provider for state management
 * @see {@link RowsPerPageDropdown} - Optional component for rows per page selection
 *
 * @requires PaginationContextProvider - Must be wrapped in PaginationContextProvider
 *
 * @accessibility
 * - ARIA navigation role and labels
 * - Keyboard navigation support (Enter for page input)
 * - Arrow keys navigation (via arrow buttons)
 * - Screen reader friendly
 * - Proper focus management
 */
declare const Pagination: ({ pagesCount, className, as, ariaLabel, isDisabled, pageNumberPlaceholder, errorTooltip, isPageSettingVisible, isPageFromCountVisible, isRowPerPageVisible, rowPerPageProps, manualPageNumberProps, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
export default Pagination;
