import type { AsyncThunkAction, PayloadAction } from '@reduxjs/toolkit'; import type { AsyncThunkSearchOptions } from '../../api/search/search-api-client.js'; import type { CoreEngine } from '../../app/engine.js'; import { type ClearQuerySuggestActionCreatorPayload, type FetchQuerySuggestionsActionCreatorPayload, type FetchQuerySuggestionsThunkReturn, type RegisterQuerySuggestActionCreatorPayload, type SelectQuerySuggestionActionCreatorPayload, type StateNeededByQuerySuggest } from './query-suggest-actions.js'; export type { ClearQuerySuggestActionCreatorPayload, FetchQuerySuggestionsActionCreatorPayload, RegisterQuerySuggestActionCreatorPayload, SelectQuerySuggestionActionCreatorPayload, }; /** * The query suggest action creators. * * @group Actions * @category QuerySuggest */ export interface QuerySuggestActionCreators { /** * Clears the current partial basic query expression and the list of query suggestions in a specific query suggest entity. * * @param payload - The action creator payload. * @returns A dispatchable action. */ clearQuerySuggest(payload: ClearQuerySuggestActionCreatorPayload): PayloadAction; /** * Fetches a list of query suggestions for a specific query suggest entity according to the current headless state. * * @param payload - The action creator payload. * @returns A dispatchable action. */ fetchQuerySuggestions(payload: FetchQuerySuggestionsActionCreatorPayload): AsyncThunkAction>; /** * Registers a new query suggest entity to the headless state to enable the Coveo ML query suggestions feature. * * @param payload - The action creator payload. * @returns A dispatchable action. */ registerQuerySuggest(payload: RegisterQuerySuggestActionCreatorPayload): PayloadAction; /** * Selects a suggestion provided through a specific query suggest entity. * * @param payload - The action creator payload. * @returns A dispatchable action. */ selectQuerySuggestion(payload: SelectQuerySuggestionActionCreatorPayload): PayloadAction; } /** * Loads the `querySuggest` reducer and returns possible action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category QuerySuggest */ export declare function loadQuerySuggestActions(engine: CoreEngine): QuerySuggestActionCreators;