import { Parser } from './parsers.js'; export { ArrayParserOptions, asArrayOf, asBoolean, asFloat, asInteger, asIsoDate, asIsoDateTime, asJson, asString, createParser, inferParserType } from './parsers.js'; export { R as RouteParamsInput, l as loadRouteParams, p as parseRouteParams } from '../params-BALtrRim.js'; /** * Farm.js Server-Side Query State Management * * Server-side utilities for parsing and handling URL search parameters */ type SearchParams = Record; /** * Server-side utility to load and parse search parameters * * @example * ```tsx * // In a server component * import { loadSearchParams, parseAsString, parseAsInteger } from 'farm/query/server'; * * export default async function MyPage({ searchParams }: PageProps) { * const params = await loadSearchParams(searchParams, { * search: parseAsString.withDefault!(''), * page: parseAsInteger.withDefault!(1), * }); * * return
Search: {params.search}, Page: {params.page}
; * } * ``` */ declare function loadSearchParams>>(searchParams: Promise>, parsers: T): Promise<{ [K in keyof T]: ReturnType; }>; /** * Creates pagination metadata for server components. * * @param searchParams The search parameters promise. * @param options Configuration options for pagination. * @returns Pagination metadata. */ declare function createPaginationMeta(searchParams: Promise>, options: { totalItems: number; itemsPerPage?: number; pageParam?: string; }): Promise<{ currentPage: number; itemsPerPage: number; totalItems: number; totalPages: number; offset: number; limit: number; hasNextPage: boolean; hasPreviousPage: boolean; }>; export { Parser, type SearchParams, createPaginationMeta, loadSearchParams };