import { PluginProperty } from '../../api/core/plugin/PluginPropertyInterface'; import { Catalog, RecommendationsWrapper } from '../../api/datamart'; import { RecommenderRequest } from '../../api/plugin/recommender/RecommenderRequestInterface'; import { BasePlugin, PropertiesWrapper } from '../common/BasePlugin'; export interface RecommenderBaseInstanceContext { properties: PropertiesWrapper; } export declare abstract class RecommenderPlugin extends BasePlugin { instanceContext: Promise; constructor(); fetchRecommenderCatalogs(recommenderId: string): Promise; fetchRecommenderProperties(recommenderId: string): Promise; protected instanceContextBuilder(recommenderId: string): Promise; protected getInstanceContext(recommenderId: string): Promise; protected abstract onRecommendationRequest(request: RecommenderRequest, instanceContext: RecommenderBaseInstanceContext | null): Promise; private initRecommendationRequest; }