import type { DateRangeRequest } from '../facets/range-facets/date-facet-set/interfaces/request.js'; import type { NumericRangeRequest } from '../facets/range-facets/numeric-facet-set/interfaces/request.js'; import { type SearchParameterKey } from './search-parameter-serializer.js'; export type SearchParamValue = string | string[] | undefined; export type SearchParamPair = [SearchParameterKey, T]; export type FacetValueSearchParam = Record; export type RangeFacetValueSearchParam = Record; export declare function toArray(value: T | T[]): T[]; export declare function addFacetValuesToSearchParams(facetId: string, paramKey: SearchParameterKey): (searchParams: Record, valueArray: unknown[]) => void; export declare function isValidSearchParam(key: string): boolean; export declare function isFacetPair(pair: [SearchParameterKey, unknown]): pair is SearchParamPair; export declare function isRangeFacetPair(pair: [SearchParameterKey, unknown]): pair is SearchParamPair; /** * Extends the search parameters with the given key-value pair. If the key-value pair is not valid or if the value is undefined, the search parameters are not modified. * @param searchParams - The search parameters object to extend. * @param key - The key of the search parameter. * @param value - The value of the search parameter. */ export declare function extendSearchParameters(searchParams: Record, key: string, value: SearchParamValue): void;