import type { CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js'; import type { FieldSuggestionsFacet } from '../../../features/commerce/facets/field-suggestions-order/field-suggestions-order-state.js'; import { type Controller } from '../../controller/headless-controller.js'; import type { CategoryFieldSuggestionsValue, CategoryFieldSuggestionsState as CoreCategoryFieldSuggestionsState } from '../../field-suggestions/category-facet/headless-category-field-suggestions.js'; import type { CategoryFacetOptions } from '../core/facets/category/headless-commerce-category-facet.js'; import type { FacetControllerType } from '../core/facets/headless-core-commerce-facet.js'; /** * The state of the `CategoryFieldSuggestions` controller. * * @group Buildable controllers * @category CategoryFieldSuggestions * @alpha * @deprecated */ export type CategoryFieldSuggestionsState = CoreCategoryFieldSuggestionsState & Pick; /** * The `CategoryFieldSuggestions` controller provides query suggestions based on a particular category facet field. * * For example, you could use this controller to provide auto-completion suggestions while the end user is typing an item category. * * This controller is a wrapper around the basic category facet controller search functionality, and thus exposes similar options and properties. * * @group Buildable controllers * @category CategoryFieldSuggestions * @alpha * @deprecated */ export interface CategoryFieldSuggestions extends Controller, FacetControllerType<'hierarchical'> { /** * Requests field suggestions based on a query. * * @param text - The query with which to request field suggestions. */ updateText(text: string): void; /** * Requests field suggestions based on a query. */ search(): void; /** * Filters the search using the specified value. * * If a facet exists with the configured `facetId`, selects the corresponding facet value. * * @param value - The field suggestion to select. */ select(value: CategoryFieldSuggestionsValue): void; /** * Resets the query and empties the suggestions. */ clear(): void; state: CategoryFieldSuggestionsState; } /** * The `CategoryFieldSuggestions` controller provides query suggestions based on a particular category facet field. * @param engine - The headless commerce engine. * @param options - The options for the `CategoryFieldSuggestions` controller. * @returns A `CategoryFieldSuggestions` controller instance. * * @group Buildable controllers * @category CategoryFieldSuggestions */ export declare function buildCategoryFieldSuggestions(engine: CommerceEngine, options: CategoryFacetOptions): CategoryFieldSuggestions;