/** * Recommendation Engine * * Main orchestrator for plugin recommendations. * Runs multiple algorithms and combines results. * * @since v1.66.0 */ import type { RegistryPlugin } from '../registry/registry-types.js'; import type { CuratedCollection, Recommendation, RecommendationConfig, RecommendationPreferences, RecommendationResults } from './recommendation-types.js'; /** * Recommendation Engine */ export declare class RecommendationEngine { private config; private cooccurrenceMatrix; private cache; constructor(config?: Partial); /** * Update configuration */ setConfig(config: Partial): void; /** * Get current configuration */ getConfig(): RecommendationConfig; /** * Clear the results cache */ clearCache(): void; /** * Generate recommendations for the given context */ generateRecommendations(installedPlugins: RegistryPlugin[], registryPlugins: RegistryPlugin[], preferences?: Partial): Promise; /** * Get recommendations by type */ getByType(type: Recommendation['type'], installedPlugins: RegistryPlugin[], registryPlugins: RegistryPlugin[], preferences?: Partial, limit?: number): Promise; /** * Get curated collections */ getCollections(): CuratedCollection[]; /** * Get plugins from a collection */ getCollectionPlugins(collectionId: string, registryPlugins: RegistryPlugin[]): RegistryPlugin[]; /** * Get featured collections */ getFeaturedCollections(): CuratedCollection[]; /** * Dismiss a recommendation */ dismissRecommendation(recommendations: Recommendation[], pluginId: string): Recommendation[]; /** * Save a recommendation for later */ saveRecommendation(recommendations: Recommendation[], pluginId: string): Recommendation[]; /** * Get saved recommendations */ getSaved(recommendations: Recommendation[]): Recommendation[]; /** * Get statistics about recommendation generation */ getStats(results: RecommendationResults): { totalRecommendations: number; byType: Record; bySource: Record; averageScore: number; executionTime: number; algorithmStats: Array<{ name: string; count: number; time: number; success: boolean; }>; }; } /** * Get the recommendation engine instance */ export declare function getRecommendationEngine(config?: Partial): RecommendationEngine; /** * Reset the engine instance (for testing) */ export declare function resetRecommendationEngine(): void; //# sourceMappingURL=recommendation-engine.d.ts.map