/** * Discovery Service * * Generates personalized plugin discovery feeds. * * @since v1.66.4 */ import type { RegistryPlugin } from '../../registry/registry-types.js'; import type { DiscoveryFeed, DiscoveryPreferences, DiscoverySection, NewPluginCriteria, TrendingCriteria } from './discovery-types.js'; /** * Service for generating discovery feeds */ export declare class DiscoveryService { private preferences; private newCriteria; private trendingCriteria; constructor(preferences?: Partial, newCriteria?: Partial, trendingCriteria?: Partial); /** * Generate a discovery feed */ generateFeed(registryPlugins: RegistryPlugin[], installedPlugins: RegistryPlugin[]): DiscoveryFeed; /** * Generate "New This Week" section */ private generateNewSection; /** * Generate "Rising Stars" trending section */ private generateTrendingSection; /** * Generate curated collection sections */ private generateCuratedSections; /** * Generate personalized "For You" section */ private generateForYouSection; /** * Generate category-based section */ private generateCategorySection; /** * Generate random explore section */ generateExploreSection(plugins: RegistryPlugin[], count?: number): DiscoverySection; /** * Save a plugin to wishlist */ savePlugin(pluginId: string): void; /** * Remove plugin from wishlist */ unsavePlugin(pluginId: string): void; /** * Hide a plugin from discovery */ hidePlugin(pluginId: string): void; /** * Get saved plugins */ getSavedPlugins(): Set; /** * Update preferences */ updatePreferences(updates: Partial): void; /** * Get current preferences */ getPreferences(): DiscoveryPreferences; } /** * Get or create the discovery service */ export declare function getDiscoveryService(preferences?: Partial): DiscoveryService; /** * Reset the service instance (for testing) */ export declare function resetDiscoveryService(): void; //# sourceMappingURL=discovery-service.d.ts.map