<!-- source-hash: d9c090acd58afdcf47f6cef38d7724de -->
A React hook that provides unified pagination logic for both client-side and server-side table pagination, abstracting away the differences between pagination types to work seamlessly with the CursorPaginationProps interface.

## Key Components

- **`ClientPaginationConfig`** - Configuration interface for client-side pagination with page numbers and totals
- **`ServerPaginationConfig`** - Configuration interface for server-side cursor-based pagination with GraphQL-style page info
- **`PaginationConfig`** - Union type combining both pagination configuration types
- **`useTablePagination`** - Main hook that transforms pagination config into standardized cursor pagination props

## Usage Examples

```typescript
// Client-side pagination with page numbers
const clientPagination = useTablePagination({
  type: 'client',
  currentPage: 2,
  totalPages: 5,
  itemCount: 25,
  itemName: 'users',
  onNext: () => setPage(p => p + 1),
  onPrevious: () => setPage(p => p - 1),
  showInfo: true
})

// Server-side cursor pagination
const serverPagination = useTablePagination({
  type: 'server',
  hasNextPage: pageInfo.hasNextPage,
  hasLoadedBeyondFirst: currentPage > 1,
  startCursor: pageInfo.startCursor,
  endCursor: pageInfo.endCursor,
  itemCount: data.length,
  itemName: 'orders',
  onNext: fetchNextPage,
  onReset: () => fetchPage(1)
})

// Returns undefined if no pagination needed (e.g., single page)
const pagination = useTablePagination(null) // undefined
```

The hook automatically determines pagination visibility based on the configuration type and returns standardized props that work with cursor-based pagination components.