import { type DateRangeRequest } from '../../controllers/facets/range-facet/date-facet/headless-date-facet.js'; import type { FacetValueState } from '../../ssr.index.js'; import type { RangeValueRequest } from '../facets/range-facets/generic/interfaces/range-facet.js'; import type { SearchParameters } from './search-parameter-actions.js'; export declare const rangeDelimiterExclusive = ".."; export declare const rangeDelimiterInclusive = "..."; export declare const facetSearchParamRegex: RegExp; export type SearchParameterKey = keyof SearchParameters; type UnknownObject = { [field: string]: unknown[]; }; type FacetSearchParameters = keyof Pick; type FacetKey = keyof typeof supportedFacetParameters; declare const supportedFacetParameters: Record; export declare const delimiter = "&"; export declare function buildSearchParameterSerializer(): { serialize: (obj: {}) => string; deserialize: typeof deserialize; }; export declare function keyHasObjectValue(key: string): key is FacetKey; export declare function isValidBasicKey(key: string): key is Exclude; export declare function isRangeFacetKey(key: string): key is Extract; export declare function isValidKey(key: string): key is SearchParameterKey; export declare const serialize: (pairSerializer: (pair: [string, unknown]) => string) => (obj: T) => string; export declare function serializeSpecialCharacters(key: string, val: unknown): string; export declare function isFacetObject(obj: unknown): obj is Record; export declare function isRangeFacetObject(obj: unknown): obj is Record; export declare function isObject(obj: unknown): obj is object; export declare function allEntriesAreValid(obj: object, isValidValue: (v: unknown) => boolean): boolean; export declare function serializeFacets(key: string, facets: Record): string; export declare function serializeRangeFacets(key: string, facets: Record): string; declare function deserialize(fragment: string): SearchParameters; export declare function splitOnFirstEqual(str: string): string[]; export declare function preprocessObjectPairs(pair: string[], regex?: RegExp): string[]; export declare function buildNumericRanges(ranges: string[], state: FacetValueState): import("../../ssr.index.js").NumericRangeRequest[]; export declare function buildDateRanges(ranges: string[], state: FacetValueState): DateRangeRequest[]; export declare function cast(pair: [K, string], decode?: boolean): [K, unknown]; export declare function castUnknownObject(value: string): UnknownObject; export {};