export interface PaginationState {
    currentPage: number;
    pageSize: number;
    totalItems: number;
}
export interface PaginationResult<T> {
    data: T[];
    currentPage: number;
    pageSize: number;
    totalItems: number;
    totalPages: number;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
}
export interface PaginationActions {
    nextPage: () => void;
    previousPage: () => void;
    goToPage: (page: number) => void;
    setPageSize: (size: number) => void;
}
export declare function calculateTotalPages(totalItems: number, pageSize: number): number;
export declare function getPageData<T>(data: T[], currentPage: number, pageSize: number): T[];
export declare function createPaginationResult<T>(data: T[], _allData: T[], state: PaginationState): PaginationResult<T>;
export declare function validatePageNumber(page: number, totalPages: number): number;
export declare function validatePageSize(size: number): number;
