/** * Intelligent Pagination * Adaptive page size with cursor-based pagination */ export interface PaginationState { currentPage: number; pageSize: number; totalItems: number; totalPages: number; hasMore: boolean; cursor?: string; nextCursor?: string; prevCursor?: string; } export interface CursorData { page: number; limit: number; timestamp: number; checksum?: string; } export declare class IntelligentPagination { private currentPage; private basePageSize; private adaptivePageSize; private totalItems; private loadHistory; private readonly MIN_PAGE_SIZE; private readonly MAX_PAGE_SIZE; /** * Get current pagination state */ getState(): PaginationState; /** * Set total items */ setTotalItems(total: number): void; /** * Go to next page */ nextPage(): PaginationState; /** * Go to previous page */ prevPage(): PaginationState; /** * Go to specific page */ goToPage(page: number): PaginationState; /** * Record load time for adaptive sizing */ recordLoadTime(page: number, loadTimeMs: number): void; /** * Adapt page size based on performance */ private adaptPageSize; /** * Create cursor for page */ createCursor(page: number): string; /** * Decode cursor */ decodeCursor(cursor: string): CursorData | null; /** * Go to page from cursor */ goToCursor(cursor: string): PaginationState; /** * Calculate checksum for cursor validation */ private calculateChecksum; /** * Validate cursor checksum */ private validateChecksum; /** * Get items to fetch for current page */ getFetchRange(): { skip: number; limit: number; }; /** * Reset pagination */ reset(): void; /** * Get load history for analytics */ getLoadHistory(): { page: number; loadTime: number; }[]; /** * Get average load time */ getAverageLoadTime(): number; /** * Set base page size */ setBasePageSize(size: number): void; /** * Get current page size */ getPageSize(): number; /** * Get current page number */ getCurrentPage(): number; } export default IntelligentPagination; //# sourceMappingURL=IntelligentPagination.d.ts.map