import { HTMLAttributes, ReactNode } from 'react';
export type PaginationProps = Omit, "onBlur"> & {
/**
* The variant determines the style and user interaction method of the Pagination component:
* - "default": Renders previous and next buttons only.
* - "number": Displays the current page number between next and previous buttons.
* - "select": Provides a dropdown menu between next and previous buttons for specific page selection.
* - "input": Provides an input field for specific page entry.
*/
variant?: "default" | "number" | "select" | "input";
/**
* The current page number.
*/
currentPage?: number;
/**
* The total number of pages available.
*/
totalPages?: number;
/**
* A fallback property for providing the total number of pages, maintained for backward compatibility.
*/
pages?: number;
/**
* When true, disables the entire pagination component, preventing any interaction.
*/
disabled?: boolean;
/**
* When true, simulates the component being on the first page, disabling the previous button.
*/
isFirstPage?: boolean;
/**
* When true, simulates the component being on the last page, disabling the next button.
*/
isLastPage?: boolean;
/**
* Callback function triggered when the previous button is pressed.
*/
onPressPrevious?: (newPage?: number) => void;
/**
* Callback function triggered when the next button is pressed.
*/
onPressNext?: (newPage?: number) => void;
/**
* Callback function triggered when a new page is selected from the dropdown, applicable when variant is "select".
*/
onSelectChange?: (selected: number) => void;
/**
* Callback function triggered when the input field value changes, applicable when variant is "input".
*/
onInputChange?: (inputValue?: number) => void;
/**
* Callback function triggered when a key is pressed in the input field, applicable when variant is "input".
*/
onKeyPress?: (controlCurrentPage?: number) => void;
/**
* Callback function triggered when the input field loses focus, applicable when variant is "input".
*/
onBlur?: (controlCurrentPage?: number) => void;
/**
* Displays a loading spinner and disables interaction when true.
*/
progress?: boolean;
/**
* Additional CSS classes for custom styling.
*/
className?: string;
};
/**
* The Pagination component provides navigation controls for paginated content.
* @see https://cloudoperators.github.io/juno/?path=/docs/components-pagination--docs
* @see {@link PaginationProps}
*/
export declare const Pagination: ({ variant, currentPage, totalPages, pages, disabled, isFirstPage, isLastPage, onPressPrevious, onPressNext, onSelectChange, onInputChange, onKeyPress, onBlur, progress, className, ...props }: PaginationProps) => ReactNode;
//# sourceMappingURL=Pagination.component.d.ts.map