import type { PayloadAction } from '@reduxjs/toolkit'; import type { SearchEngine } from '../../../app/search-engine/search-engine.js'; import { type UpdateFacetAutoSelectionActionCreatorPayload } from '../generic/facet-actions.js'; import { type RegisterFacetActionCreatorPayload, type ToggleSelectFacetValueActionCreatorPayload, type UpdateFacetIsFieldExpandedActionCreatorPayload, type UpdateFacetNumberOfValuesActionCreatorPayload, type UpdateFacetSortCriterionActionCreatorPayload, type UpdateFreezeCurrentValuesActionCreatorPayload } from './facet-set-actions.js'; export type { RegisterFacetActionCreatorPayload, ToggleSelectFacetValueActionCreatorPayload, UpdateFacetAutoSelectionActionCreatorPayload, UpdateFacetIsFieldExpandedActionCreatorPayload, UpdateFacetNumberOfValuesActionCreatorPayload, UpdateFacetSortCriterionActionCreatorPayload, UpdateFreezeCurrentValuesActionCreatorPayload, }; /** * The facet set action creators. * * @group Actions * @category FacetSet */ export interface FacetSetActionCreators { /** * Deselects all values of a facet. * * @param facetId - The unique identifier of the facet (for example, `"1"`). * @returns A dispatchable action. */ deselectAllFacetValues(facetId: string): PayloadAction; /** * Registers a facet in the facet set. * * @param payload - The action creator payload. * @returns A dispatchable action. */ registerFacet(payload: RegisterFacetActionCreatorPayload): PayloadAction; /** * Toggles a facet value. If the value does not exist, it is added. * * @param payload - The action creator payload. * @returns A dispatchable action. */ toggleSelectFacetValue(payload: ToggleSelectFacetValueActionCreatorPayload): PayloadAction; /** * Excludes a facet value. If the value does not exist, it is added. * * @param payload - The action creator payload. * @returns A dispatchable action. */ toggleExcludeFacetValue(payload: ToggleSelectFacetValueActionCreatorPayload): PayloadAction; /** * Whether to expand (show more values than initially configured) or shrink down the facet. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateFacetIsFieldExpanded(payload: UpdateFacetIsFieldExpandedActionCreatorPayload): PayloadAction; /** * Updates the number of values of a facet. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateFacetNumberOfValues(payload: UpdateFacetNumberOfValuesActionCreatorPayload): PayloadAction; /** * Updates the sort criterion of a facet. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateFacetSortCriterion(payload: UpdateFacetSortCriterionActionCreatorPayload): PayloadAction; /** * Updates the updateFreezeCurrentValues flag of a facet. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateFreezeCurrentValues(payload: UpdateFreezeCurrentValuesActionCreatorPayload): PayloadAction; /** * Updates the preventAutoSelect flag of all facets * @param payload - The action creator payload. * @returns A dispatchable action. */ updateFacetAutoSelection(payload: UpdateFacetAutoSelectionActionCreatorPayload): PayloadAction; } /** * Loads the `facetSet` reducer and returns possible action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category FacetSet */ export declare function loadFacetSetActions(engine: SearchEngine): FacetSetActionCreators;