import { AsyncThunkAction } from '@reduxjs/toolkit';
import { CategoryFacetSearchResult } from '../../../../../api/search/facet-search/category-facet-search/category-facet-search-response.js';
import { AsyncThunkOptions } from '../../../../../app/async-thunk-options.js';
import { CoreEngine, CoreEngineNext } from '../../../../../app/engine.js';
import { ThunkExtraArguments } from '../../../../../app/thunk-extra-arguments.js';
import { FacetSearchOptions } from '../../../../../features/facets/facet-search-set/facet-search-request-options.js';
import { CategoryFacetSearchSection, ConfigurationSection } from '../../../../../state/state-sections.js';
export interface CategoryFacetSearchProps {
    options: FacetSearchOptions;
    isForFieldSuggestions: boolean;
    select: (value: CategoryFacetSearchResult) => void;
    executeFacetSearchActionCreator: (facetId: string) => AsyncThunkAction<unknown, unknown, AsyncThunkOptions<unknown, ThunkExtraArguments>>;
    executeFieldSuggestActionCreator: (facetId: string) => AsyncThunkAction<unknown, unknown, AsyncThunkOptions<unknown, ThunkExtraArguments>>;
}
export type CategoryFacetSearch = ReturnType<typeof buildCoreCategoryFacetSearch>;
export declare function buildCoreCategoryFacetSearch(engine: CoreEngine<CategoryFacetSearchSection & ConfigurationSection> | CoreEngineNext<CategoryFacetSearchSection>, props: CategoryFacetSearchProps): {
    select(value: CategoryFacetSearchResult): void;
    state: {
        values: CategoryFacetSearchResult[];
        isLoading: boolean;
        query: string;
        moreValuesAvailable: boolean;
    } | {
        values: CategoryFacetSearchResult[];
        isLoading: boolean;
        query: string;
        moreValuesAvailable: boolean;
    };
    updateText(text: string): void;
    showMoreResults(): void;
    search(): void;
    clear(): void;
    updateCaptions(captions: Record<string, string>): void;
};
