/** * Source Registry * * Manages multiple plugin sources with priority ordering */ import type { IPluginSource, PluginInfo, PluginUpdateInfo, SourceConfig } from '../types/index.js'; /** * Source Registry manages all plugin sources */ export declare class SourceRegistry { private sources; private configPath; constructor(configPath?: string); /** * Add a source to the registry */ addSource(source: IPluginSource): boolean; /** * Remove a source from the registry */ removeSource(id: string): boolean; /** * Get a source by ID */ getSource(id: string): IPluginSource | undefined; /** * Get all registered sources */ getAllSources(): IPluginSource[]; /** * Get enabled sources, sorted by priority (highest first) */ getEnabledSources(): IPluginSource[]; /** * Get sources of a specific type */ getSourcesByType(type: string): IPluginSource[]; /** * Check for plugin updates across all enabled sources * Uses priority ordering - first source with a valid update wins */ checkUpdate(pluginName: string, currentVersion: string, identifier: string, sourceType?: string): Promise; /** * Search for plugins across all enabled sources */ searchAll(query: string, limit?: number): Promise; /** * Save sources configuration to file. Throws on I/O failure. */ saveConfig(sources: SourceConfig[]): Promise; /** * Get source count */ get count(): number; /** * Get enabled source count */ get enabledCount(): number; /** * Clear all sources */ clear(): void; } //# sourceMappingURL=registry.d.ts.map