import type { RangeFacetRangeAlgorithm, RangeFacetSortCriterion } from '../generic/interfaces/request.js'; import type { NumericRangeRequest } from './interfaces/request.js'; import type { NumericFacetValue } from './interfaces/response.js'; export interface RegisterNumericFacetActionCreatorPayload { /** * A unique identifier for the numeric facet. */ facetId: string; /** * The field from which to display values in the facet. */ field: string; /** * The tabs on which the facet should be enabled or disabled. */ tabs?: { included?: string[]; excluded?: string[]; }; /** * @deprecated - This field is unused and should not be relied on. * If you need the currently active tab, use the TabManager instead. * * This property will be removed in version 4.0. */ activeTab?: string; /** * Whether the index should automatically create range values. * * Tip: If you set this parameter to true, ensure that the ['Use cache for numeric queries' option](https://docs.coveo.com/en/1833#use-cache-for-numeric-queries) is enabled for this facet's field in your index in order to speed up automatic range evaluation. */ generateAutomaticRanges: boolean; /** * The values displayed by the facet in the search interface at the moment of the request. * * If `generateAutomaticRanges` is false, values must be specified. * If `generateAutomaticRanges` is true, automatic ranges are going to be appended after the specified values. * * @defaultValue `[]` */ currentValues?: NumericRangeRequest[]; /** * Whether to exclude folded result parents when estimating the result count for each facet value. * * Note: Resulting count is only an estimation, in some cases this value could be incorrect. * * @defaultValue `true` */ filterFacetCount?: boolean; /** * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values. * * Note: A high `injectionDepth` may negatively impact the facet request performance. * * Minimum: `0` * * @defaultValue `1000` */ injectionDepth?: number; /** * The number of values to request for this facet. * Also determines the number of additional values to request each time this facet is expanded, and the number of values to display when this facet is collapsed. * * Minimum: `1` * * @defaultValue `8` */ numberOfValues?: number; /** * The sort criterion to apply to the returned facet values. * * @defaultValue `ascending` */ sortCriteria?: RangeFacetSortCriterion; /** * The range algorithm to apply to automatically generated ranges for the range facet. * * @defaultValue `even` */ rangeAlgorithm?: RangeFacetRangeAlgorithm; } export declare function validateManualNumericRanges(options: Pick): void; export declare const registerNumericFacet: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: RegisterNumericFacetActionCreatorPayload], RegisterNumericFacetActionCreatorPayload, "numericFacet/register", import("@reduxjs/toolkit").SerializedError | null, never>; export interface ToggleSelectNumericFacetValueActionCreatorPayload { /** * The unique identifier of the facet (for example, `"1"`). */ facetId: string; /** * The target numeric facet value. */ selection: NumericFacetValue; } export declare const toggleSelectNumericFacetValue: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ToggleSelectNumericFacetValueActionCreatorPayload], ToggleSelectNumericFacetValueActionCreatorPayload, "numericFacet/toggleSelectValue", never, never>; export declare const toggleExcludeNumericFacetValue: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ToggleSelectNumericFacetValueActionCreatorPayload], ToggleSelectNumericFacetValueActionCreatorPayload, "numericFacet/toggleExcludeValue", never, never>; export interface UpdateNumericFacetValuesActionCreatorPayload { /** * The unique identifier of the facet (for example, `"1"`). */ facetId: string; /** * The numeric facet values. */ values: NumericFacetValue[]; } export declare const updateNumericFacetValues: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateNumericFacetValuesActionCreatorPayload], UpdateNumericFacetValuesActionCreatorPayload, "numericFacet/updateFacetValues", import("@reduxjs/toolkit").SerializedError | null, never>; export interface UpdateNumericFacetSortCriterionActionCreatorPayload { /** * The unique identifier of the facet (for example, `"1"`). */ facetId: string; /** * The target criterion. */ criterion: RangeFacetSortCriterion; } export declare const updateNumericFacetSortCriterion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: { facetId: string; criterion: RangeFacetSortCriterion; }], { facetId: string; criterion: RangeFacetSortCriterion; }, "rangeFacet/updateSortCriterion", never, never>; export declare const deselectAllNumericFacetValues: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: string], string, "facet/deselectAll", never, never>;