import { CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js';
import { FieldSuggestionsFacet } from '../../../features/commerce/facets/field-suggestions-order/field-suggestions-order-state.js';
import { Controller } from '../../controller/headless-controller.js';
import { CategoryFilterSuggestions } from './headless-category-filter-suggestions.js';
import { FilterSuggestions } from './headless-filter-suggestions.js';
export type GeneratedFilterSuggestionsControllers = Array<FilterSuggestions | CategoryFilterSuggestions>;
/**
 * The `FilterSuggestionsGenerator` controller is responsible for generating filter suggestions controllers for a given
 * commerce engine.
 *
 * @alpha  This controller relies on a Commerce API functionality that is not yet generally available. If you wish to use this
 * feature in an implementation, please contact your Coveo representative.
 *
 * @group Buildable controllers
 * @category FilterSuggestionsGenerator
 */
export interface FilterSuggestionsGenerator extends Controller {
    /**
     * The filter suggestions controllers created by the filter suggestions generator.
     */
    filterSuggestions: GeneratedFilterSuggestionsControllers;
    /**
     * The state of the filter suggestions generator.
     */
    state: FieldSuggestionsFacet[];
}
/**
 * Builds a filter suggestions generator controller for a given commerce engine.
 * @param engine - The commerce engine.
 * @returns The filter suggestions generator controller.
 *
 * @alpha  This controller relies on a Commerce API functionality that is not yet generally available. If you wish to
 * use this feature in an implementation, please contact your Coveo representative.
 *
 * @group Buildable controllers
 * @category FilterSuggestionsGenerator
 */
export declare function buildFilterSuggestionsGenerator(engine: CommerceEngine): FilterSuggestionsGenerator;
