import { a as ParserBuilder, o as inferParserType } from './serializer-BZD8Ur_m.cjs';
export { P as Parser, e as createParser, d as createSerializer, c as parseAsArrayOf, j as parseAsBoolean, i as parseAsFloat, h as parseAsHex, g as parseAsInteger, l as parseAsIsoDateTime, b as parseAsJson, n as parseAsNumberLiteral, f as parseAsString, p as parseAsStringEnum, m as parseAsStringLiteral, k as parseAsTimestamp } from './serializer-BZD8Ur_m.cjs';
import 'react';

type SearchParams = Record<string, string | string[] | undefined>;
declare function createSearchParamsCache<Parsers extends Record<string, ParserBuilder<any>>>(parsers: Parsers): {
    parse: {
        (searchParams: SearchParams): keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never;
        (searchParams: Promise<any>): Promise<keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never>;
    };
    get: <Key extends keyof Parsers>(key: Key) => (keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never)[Key];
    all: () => keyof Parsers extends infer T extends keyof Parsers ? { readonly [K in T]: inferParserType<Parsers[K]>; } : never;
};
declare function compareSearchParams(a: SearchParams, b: SearchParams): boolean;

export { ParserBuilder, type SearchParams, compareSearchParams, createSearchParamsCache, inferParserType };
