/**
 * Pagination Helper
 *
 * Provides consistent pagination behavior across all PRIVATE.ME packages.
 */
import type { PaginationOptions, PaginatedResult } from './types.js';
/**
 * Paginate a collection of items.
 *
 * Returns a subset of items for the requested page along with pagination metadata.
 *
 * @param items Full collection to paginate
 * @param options Pagination options (page number, limit)
 * @returns Paginated result with data and metadata
 *
 * @example
 * ```typescript
 * const allItems = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 * const result = paginate(allItems, { page: 2, limit: 3 });
 * // result.data = [4, 5, 6]
 * // result.pagination.page = 2
 * // result.pagination.total = 10
 * // result.pagination.totalPages = 4
 * // result.pagination.hasNext = true
 * // result.pagination.hasPrev = true
 * ```
 */
export declare function paginate<T>(items: readonly T[], options?: PaginationOptions): PaginatedResult<T>;
/**
 * Create pagination metadata without slicing data.
 *
 * Useful when you already have the page data and just need the metadata.
 *
 * @param total Total number of items in the full collection
 * @param options Pagination options
 * @returns Pagination metadata only
 */
export declare function createPaginationMetadata(total: number, options?: PaginationOptions): PaginatedResult<never>['pagination'];
//# sourceMappingURL=pagination.d.ts.map