import * as zod_v4_core from 'zod/v4/core'; import * as zod_mini from 'zod/mini'; type Empty = {}; type EntityId = string | number; type Entity = { id: EntityId; }; type Response = { data: T; }; type InitParams = { limit: number; parent?: string; }; type NextParams = { limit: number; parent?: string; next: string; }; type PrevParams = { limit: number; parent?: string; prev: string; }; type PageParams = { limit: number; prev?: string; next?: string; }; type ParentPageParams = { limit: number; parent: string; prev?: string; next?: string; }; type Page = { data: T[]; paging: { next?: string; prev?: string; }; }; declare function pageParamsSchema(max?: number, defaultLimit?: number): zod_mini.ZodMiniObject<{ limit: zod_mini.ZodMiniDefault>; prev: zod_mini.ZodMiniOptional>; next: zod_mini.ZodMiniOptional>; }, zod_v4_core.$strip>; declare const Cursor: { of(prev: bigint | number | string | undefined, next: bigint | number | string | undefined): Page["paging"]; empty(): Page["paging"]; encode(id: bigint | number | string | undefined): string | undefined; decode(token: string, type?: T): T extends "bigint" ? bigint : T extends "number" ? number : string; }; declare const initialPageParam: Page['paging']; declare function getPreviousPageParam(first: Page): Page['paging'] | null; declare function getNextPageParam(last: Page): Page['paging'] | null; type InfinitePageData = { pages: Array>; pageParams: Array; }; declare const Pages: { flatten(data: InfinitePageData): T[]; dedupe(data: InfinitePageData): T[]; prepend(item: T): (data: InfinitePageData | undefined) => InfinitePageData | undefined; append(item: T): (data: InfinitePageData | undefined) => InfinitePageData | undefined; update(updater: T, predicate: (item: T) => boolean): (data: InfinitePageData | undefined) => InfinitePageData | undefined; updateById(updated: T): (data: InfinitePageData | undefined) => InfinitePageData | undefined; remove(predicate: (item: T) => boolean): (data: InfinitePageData | undefined) => InfinitePageData | undefined; removeById(id: EntityId): (data: InfinitePageData | undefined) => InfinitePageData | undefined; }; declare const Items: { push(newItems: T[]): (data: T[] | undefined) => T[] | undefined; unshift(newItems: T[]): (data: T[] | undefined) => T[] | undefined; pushAndDedupe(newItems: T[]): (data: T[] | undefined) => T[] | undefined; unshiftAndDedupe(newItems: T[]): (data: T[] | undefined) => T[] | undefined; update(updater: T, predicate: (item: T) => boolean): (data: T[] | undefined) => T[] | undefined; updateById(updated: T): (data: T[] | undefined) => T[] | undefined; remove(predicate: (item: T) => boolean): (data: T[] | undefined) => T[] | undefined; removeById(id: EntityId): (data: T[] | undefined) => T[] | undefined; }; export { Cursor, type Empty, type Entity, type EntityId, type InfinitePageData, type InitParams, Items, type NextParams, type Page, type PageParams, Pages, type ParentPageParams, type PrevParams, type Response, getNextPageParam, getPreviousPageParam, initialPageParam, pageParamsSchema };