import { SearchAPIClientResponse } from '../../api/search/search-api-client.js';
import { SearchAPIErrorWithStatusCode } from '../../api/search/search-api-error-response.js';
import { FacetsParam } from '../../api/search/search-api-params.js';
import { SearchRequest } from '../../api/search/search/search-request.js';
import { SearchResponseSuccess } from '../../api/search/search/search-response.js';
import { AnyFacetRequest } from '../facets/generic/interfaces/generic-facet-request.js';
export interface SearchMappings {
    dateFacetValueMap: Record<string, Record<string, string>>;
}
export declare const initialSearchMappings: () => SearchMappings;
export declare function mapFacetRequest(facetRequest: AnyFacetRequest, mappings: SearchMappings): import("../facets/facet-set/interfaces/request.js").FacetRequest | import("../facets/category-facet-set/interfaces/request.js").CategoryFacetRequest | import("../facets/range-facets/numeric-facet-set/interfaces/request.js").NumericFacetRequest | {
    currentValues: {
        start: string;
        end: string;
        endInclusive: boolean;
        state: import("../../ssr.index.js").FacetValueState;
    }[];
    sortCriteria: import("../../ssr.index.js").RangeFacetSortCriterion;
    rangeAlgorithm: import("../../ssr.index.js").RangeFacetRangeAlgorithm;
    facetId: string;
    field: string;
    filterFacetCount: boolean;
    injectionDepth: number;
    numberOfValues: number;
    preventAutoSelect: boolean;
    resultsMustMatch: import("../../ssr.index.js").FacetResultsMustMatch;
    generateAutomaticRanges: boolean;
    type: "dateRange";
};
export interface MappedSearchRequest<T extends FacetsParam = SearchRequest> {
    request: T;
    mappings: SearchMappings;
}
export declare function mapSearchRequest<T extends FacetsParam = SearchRequest>(searchRequest: T): MappedSearchRequest<T>;
export type ErrorResponse = {
    error: SearchAPIErrorWithStatusCode;
};
export type SuccessResponse = {
    success: SearchResponseSuccess;
};
export declare function mapSearchResponse<ResponseSuccess extends SearchAPIClientResponse<SearchResponseSuccess>>(response: ResponseSuccess, mappings: SearchMappings): SuccessResponse | ErrorResponse;
