import type { AsyncThunkAction, PayloadAction } from '@reduxjs/toolkit'; import type { AsyncThunkSearchOptions } from '../../api/search/search-api-client.js'; import type { RecommendationEngine } from '../../app/recommendation-engine/recommendation-engine.js'; import { type GetRecommendationsThunkReturn, type SetRecommendationIdActionCreatorPayload, type StateNeededByGetRecommendations } from './recommendation-actions.js'; export type { SetRecommendationIdActionCreatorPayload }; /** * The recommendation action creators. * * @group Actions * @category Recommendation */ export interface RecommendationActionCreators { /** * Refreshes the recommendations. * * @returns A dispatchable action. */ getRecommendations(): AsyncThunkAction>; /** * Updates the recommendation identifier. * * @param payload - The action creator payload. * @returns A dispatchable action. */ setRecommendationId(payload: SetRecommendationIdActionCreatorPayload): PayloadAction; } /** * Loads the `recommendation` reducer and returns possible action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category Recommendation */ export declare function loadRecommendationActions(engine: RecommendationEngine): RecommendationActionCreators;