/** * lazy-render-server * Backend helpers for lazy-render * * Provides: * - Cursor-based pagination * - Batch optimization * - API performance helpers * - Caching utilities * - Database adapters */ export * from './adapters'; export * from './cursorPagination'; export { paginationMiddleware } from './middleware'; export { rateLimiter } from './middleware/rate-limiter'; export interface PaginationParams { page: number; limit: number; cursor?: string; sortBy?: string; sortOrder?: 'asc' | 'desc'; } export interface PaginatedResponse { data: T[]; pagination: { page: number; limit: number; total: number; totalPages: number; hasMore: boolean; nextCursor?: string; prevCursor?: string; }; meta?: { sortBy?: string; sortOrder?: 'asc' | 'desc'; timestamp: string; }; } /** * Calculate pagination metadata */ export declare function calculatePagination(items: T[], page: number, limit: number, total: number, options?: { sortBy?: string; sortOrder?: 'asc' | 'desc'; }): PaginatedResponse; /** * Validate pagination parameters */ export declare function validatePaginationParams(params: PaginationParams): { page: number; limit: number; cursor?: string; sortBy?: string; sortOrder: 'asc' | 'desc'; errors: string[]; }; /** * Batch data into chunks */ export declare function batchData(data: T[], batchSize: number): T[][]; /** * Cursor-based pagination helper */ export declare function createCursor(page: number, limit: number): string; /** * Decode cursor */ export declare function decodeCursor(cursor: string): { page: number; limit: number; } | null; /** * Cache helper with TTL */ export declare class Cache { private cache; private defaultTTL; constructor(defaultTTL?: number); set(key: string, value: T, ttl?: number): void; get(key: string): T | null; delete(key: string): boolean; clear(): void; size(): number; } declare const _default: { calculatePagination: typeof calculatePagination; validatePaginationParams: typeof validatePaginationParams; batchData: typeof batchData; createCursor: typeof createCursor; decodeCursor: typeof decodeCursor; Cache: typeof Cache; }; export default _default;