/** * The Coveo Headless Recommendation sub-package exposes exposes the engine, controllers, actions, and utility functions to build a recommendation experience. * * @example * ```typescript * import { buildRecommendationList, buildRecommendationEngine, getSampleRecommendationEngineConfiguration } from '@coveo/headless/recommendation'; * * const engine = buildRecommendationEngine({ * configuration: getSampleRecommendationEngineConfiguration() * }); * * const recommendationList = buildRecommendationList(engine); * ``` * @module Recommendation */ import * as HighlightUtils from './utils/highlight.js'; export type { Relay } from '@coveo/relay'; export type { Middleware, Unsubscribe } from '@reduxjs/toolkit'; export { getAnalyticsNextApiBaseUrl, getOrganizationEndpoint, } from './api/platform-client.js'; export type { Raw } from './api/search/search/raw.js'; export type { Result } from './api/search/search/result.js'; export type { CoreEngine, ExternalEngineOptions } from './app/engine.js'; export type { AnalyticsConfiguration, AnalyticsRuntimeEnvironment, EngineConfiguration, } from './app/engine-configuration.js'; export type { LoggerOptions, LogLevel } from './app/logger.js'; export type { NavigatorContext } from './app/navigator-context-provider.js'; export type { RecommendationEngine, RecommendationEngineConfiguration, RecommendationEngineOptions, } from './app/recommendation-engine/recommendation-engine.js'; export { buildRecommendationEngine, getSampleRecommendationEngineConfiguration, } from './app/recommendation-engine/recommendation-engine.js'; export type { Context, ContextInitialState, ContextPayload, ContextProps, ContextState, ContextValue, } from './controllers/context/headless-context.js'; export { buildContext } from './controllers/context/headless-context.js'; export type { Controller, Subscribable, } from './controllers/controller/headless-controller.js'; export { buildController } from './controllers/controller/headless-controller.js'; export type { DictionaryFieldContext, DictionaryFieldContextPayload, DictionaryFieldContextState, } from './controllers/dictionary-field-context/headless-dictionary-field-context.js'; export { buildDictionaryFieldContext } from './controllers/dictionary-field-context/headless-dictionary-field-context.js'; export type { RecommendationList, RecommendationListOptions, RecommendationListProps, RecommendationListState, } from './controllers/recommendation/headless-recommendation.js'; export { buildRecommendationList } from './controllers/recommendation/headless-recommendation.js'; export type { InteractiveResult, InteractiveResultCore, InteractiveResultCoreOptions, InteractiveResultCoreProps, RecommendationInteractiveResultOptions, RecommendationInteractiveResultProps, } from './controllers/recommendation/result-list/headless-recommendation-interactive-result.js'; export { buildInteractiveResult } from './controllers/recommendation/result-list/headless-recommendation-interactive-result.js'; export * from './features/advanced-search-queries/advanced-search-queries-actions-loader.js'; export * from './features/configuration/configuration-actions-loader.js'; export * from './features/configuration/search-configuration-actions-loader.js'; export * from './features/context/context-actions-loader.js'; export * from './features/debug/debug-actions-loader.js'; export * from './features/dictionary-field-context/dictionary-field-context-actions-loader.js'; export * from './features/fields/fields-actions-loader.js'; export { DefaultFieldsToInclude, EcommerceDefaultFieldsToInclude, MinimumFieldsToInclude, } from './features/fields/fields-state.js'; export * from './features/pagination/pagination-actions-loader.js'; export * from './features/pipeline/pipeline-actions-loader.js'; export * from './features/recommendation/recommendation-actions-loader.js'; export * from './features/recommendation/recommendation-click-analytics-actions-loader.js'; export { ResultTemplatesHelpers } from './features/result-templates/result-templates-helpers.js'; export type { ResultTemplate, ResultTemplateCondition, ResultTemplatesManager, } from './features/result-templates/result-templates-manager.js'; export { buildResultTemplatesManager } from './features/result-templates/result-templates-manager.js'; export * from './features/search-hub/search-hub-actions-loader.js'; export type { HighlightKeyword } from './utils/highlight.js'; export type { PlatformEnvironment } from './utils/url-utils.js'; export { HighlightUtils };