import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types'; import { ListAvailableAlgorithmsResponse, Algorithm, GetRecommendationOptions, GetRecommendationResponse, GetRecommendationApplicationErrors } from './index.typings.js'; export { AlgorithmConfig, AlgorithmInfo, AlgorithmType, AlgorithmTypeWithLiterals, CatalogReference, GetRecommendationRequest, ItemAppIdNotSupportedByProvider, ListAvailableAlgorithmsRequest, Recommendation, RecommendationAlgorithmNotSupported } from './index.typings.js'; declare function listAvailableAlgorithms$1(httpClient: HttpClient): ListAvailableAlgorithmsSignature; interface ListAvailableAlgorithmsSignature { /** * Returns a list of recommendation algorithms that can be used on your Wix site or project. These algorithms can be used with [`getRecommendation()`](#getRecommendation) to provide item recommendations to the customer. * * Algorithms are run by the apps that provide them, and can only be used on catalogs they support. Apps may provide algorithms for use with their own catalogs and/or catalogs from other apps. * * The app which provides an algorithm is referenced by that algorithm’s `appId`. The apps whose catalogs are supported by an algorithm are referenced by the IDs in that algorithm’s `catalogAppIds` array. * * * For an algorithm to be considered “Available” and returned in this method’s response, the algorithm must meet the following conditions: * 1. The algorithm’s `appId` must match the ID of an installed Wix app. * 2. At least 1 of the IDs in `catalogAppIds` must match the ID of an installed Wix app. * * Wix app IDs are [listed here](https://dev.wix.com/docs/api-reference/articles/get-started/apps-created-by-wix). */ (): Promise>; } declare function getRecommendation$1(httpClient: HttpClient): GetRecommendationSignature; interface GetRecommendationSignature { /** * Returns a recommendation object containing a list of items to recommend to the customer. * * `getRecommendation()` determines which items to recommend based on the given recommendation algorithms. * * `getRecommendation()` doesn’t run the algorithms. It calls the installed apps that provide them. * * Apps may provide algorithms for use with their own catalogs, or for use with catalogs from other apps. * For example, Wix Stores provides algorithms that can only be used on its own catalogs. * To run an algorithm, the app providing it must be installed, and an app providing a supported catalog must be installed. * For more information and to see which algorithms are available on your site or project, call [`listAvailableAlgorithms()`](#listavailablealgorithms). * * `getRecommendation()` operates as follows: * 1. `getRecommendation()` receives as input a list of algorithms as an array. These algorithms can be provided by different apps and can apply to different catalogs. * 2. `getRecommendation()` calls the app that corresponds to the `appId` of the first algorithm in the list of algorithms. It passes that algorithm’s ID and the IDs of any subsequent algorithms in the array for the same app. * 3. The app runs the algorithms. * 4. `getRecommendation()` returns items recommendations from the first algorithm (according to its position in the `algorithms` array) that meets the minimum number of recommendations. At that point `getRecommendation()` stops calling other apps. * 5. If none of the algorithms run by the first app meet the minimum recommended items, `getRecommendation()` finds the next algorithm in the array with a new `appId` (an ID of an app that has not yet been called), and repeats the process. * 6. If no algorithms in the `algorithms` array recommend at least the minimum recommended items, `getRecommendation()` returns an empty array. * @param - Algorithms to specify for generating recommendations, ordered by preference. The method processes algorithms in order and provides recommendations from the first algorithm that meets the `minimumRecommendedItems` threshold. * @param - Get recommendation options. */ (algorithms: NonNullablePaths[], options?: NonNullablePaths): Promise & { __applicationErrorsType?: GetRecommendationApplicationErrors; }>; } declare const listAvailableAlgorithms: MaybeContext & typeof listAvailableAlgorithms$1>; declare const getRecommendation: MaybeContext & typeof getRecommendation$1>; export { Algorithm, GetRecommendationApplicationErrors, GetRecommendationOptions, GetRecommendationResponse, ListAvailableAlgorithmsResponse, getRecommendation, listAvailableAlgorithms };