export declare type TCreatePaginationProps = { pagesLength: number; onChange: (pages: TPages) => void; currentPage?: number; }; export declare type TPages = { currentPage: number; pages: { action: string | null; value: number | string; isActive?: boolean; }[]; }; export default function createPagination({ pagesLength, currentPage, onChange }: TCreatePaginationProps): { setPage: (n: number) => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; setPagesLength: (newPagesLength: number, newCurrentPage: number) => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; getPages: () => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; getCurrentPage: () => number; nextPage: () => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; previousPage: () => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; firstPage: () => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; lastPage: () => { currentPage: number; pages: ({ action: string; value: string; } | { isActive: boolean; action: string; value: any; } | { action: string; value: number; } | { action: null; value: string; })[]; }; };