import type { CategoryFacetSortCriterion } from './interfaces/request.js';
import type { CategoryFacetValue } from './interfaces/response.js';
export interface RegisterCategoryFacetActionCreatorPayload {
    /**
     * A unique identifier for the 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;
    /**
     * The base path shared by all values for the facet.
     *
     * @defaultValue `[]`
     */
    basePath?: string[];
    /**
     * The character that specifies the hierarchical dependency.
     *
     * @defaultValue `;`
     */
    delimitingCharacter?: string;
    /**
     * Whether to use basePath as a filter for the results.
     *
     * @defaultValue `true`
     */
    filterByBasePath?: boolean;
    /**
     * Whether to exclude the parents of folded results 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 `5`
     */
    numberOfValues?: number;
    /**
     * The criterion to use for sorting returned facet values.
     *
     * @defaultValue `occurrences`
     */
    sortCriteria?: CategoryFacetSortCriterion;
}
export declare const defaultNumberOfValuesIncrement = 5;
export declare const registerCategoryFacet: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: RegisterCategoryFacetActionCreatorPayload], RegisterCategoryFacetActionCreatorPayload, "categoryFacet/register", never, never>;
export interface ToggleSelectCategoryFacetValueActionCreatorPayload {
    /**
     * The unique identifier of the facet (e.g., `"1"`).
     */
    facetId: string;
    /**
     * The target category facet value.
     */
    selection: CategoryFacetValue;
    /**
     * The number of child values to display.
     */
    retrieveCount: number;
}
export declare const toggleSelectCategoryFacetValue: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ToggleSelectCategoryFacetValueActionCreatorPayload], ToggleSelectCategoryFacetValueActionCreatorPayload, "categoryFacet/toggleSelectValue", import("@reduxjs/toolkit").SerializedError | null, never>;
export declare const deselectAllCategoryFacetValues: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: string], string, "categoryFacet/deselectAll", never, never>;
export interface UpdateCategoryFacetNumberOfValuesActionCreatorPayload {
    /**
     * The unique identifier of the facet (e.g., `"1"`).
     */
    facetId: string;
    /**
     * The new number of facet values (e.g., `10`).
     */
    numberOfValues: number;
}
export declare const updateCategoryFacetNumberOfValues: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateCategoryFacetNumberOfValuesActionCreatorPayload], UpdateCategoryFacetNumberOfValuesActionCreatorPayload, "categoryFacet/updateNumberOfValues", never, never>;
export interface UpdateCategoryFacetSortCriterionActionCreatorPayload {
    /**
     * The unique identifier of the facet (e.g., `"1"`).
     */
    facetId: string;
    /**
     * The criterion by which to sort the facet.
     */
    criterion: CategoryFacetSortCriterion;
}
export declare const updateCategoryFacetSortCriterion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateCategoryFacetSortCriterionActionCreatorPayload], UpdateCategoryFacetSortCriterionActionCreatorPayload, "categoryFacet/updateSortCriterion", never, never>;
export interface UpdateCategoryFacetBasePathActionCreatorPayload {
    /**
     * The unique identifier of the facet (e.g., `"1"`).
     */
    facetId: string;
    /**
     * The base path shared by all values for the facet.
     */
    basePath: string[];
}
export declare const updateCategoryFacetBasePath: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateCategoryFacetBasePathActionCreatorPayload], UpdateCategoryFacetBasePathActionCreatorPayload, "categoryFacet/updateBasePath", never, never>;
