declare const DOTS = "dots"; interface PaginationParams { /** Page selected on initial render, defaults to 1 */ initialPage?: number; /** Controlled active page number */ page?: number; /** Total amount of pages */ total: number; /** Siblings amount on left/right side of selected page, defaults to 1 */ siblings?: number; /** Amount of elements visible on left/right edges, defaults to 1 */ boundaries?: number; /** Callback fired after change of each page */ onChange?: (page: number) => void; } /** * Generates a pagination hook that manages the logic for pagination. * * @param {PaginationParams} { * total - The total number of items to paginate. * siblings - The number of siblings on each side of the active page. * boundaries - The number of boundary pages on each side. * page - The current active page. * initialPage - The initial active page. * onChange - A function to handle page change events. * } * @return {PaginationResult} An object containing the pagination range, the active page, and functions to navigate to the next, previous, first, and last pages. */ declare function usePagination({ total, siblings, boundaries, page, initialPage, onChange, }: PaginationParams): { range: (number | "dots")[]; active: number; setPage: (pageNumber: number) => void; next: () => void; previous: () => void; first: () => void; last: () => void; }; export { DOTS, type PaginationParams, usePagination };