export type PluginUpdateSourceGroup = 'registryLatest' | 'registryMetadata' | 'updateNotes'; export type PluginUpdateSourceName = 'npm' | 'npmmirror' | 'jsdelivr'; export interface PluginUpdateSourceMetric { samples: number; averageMs: number; successRate: number; consecutiveFailures: number; lastTestedAt: string; } export interface PluginUpdateSourceStats { version: 1; packageName: string; updatedAt: string; groups: Record>>; } export declare const pluginUpdateSourceCandidates: Record; export declare function createPluginUpdateSourceStats(packageName: string): PluginUpdateSourceStats; export declare function parsePluginUpdateSourceStats(value: unknown, packageName: string): PluginUpdateSourceStats; export declare function recordPluginUpdateSourceResult(stats: PluginUpdateSourceStats, group: PluginUpdateSourceGroup, source: PluginUpdateSourceName, success: boolean, durationMs: number, now?: number): void; export declare function getPluginUpdateSourceOrder(stats: PluginUpdateSourceStats, group: PluginUpdateSourceGroup): PluginUpdateSourceName[]; export declare function shouldCalibratePluginUpdateSource(stats: PluginUpdateSourceStats, group: PluginUpdateSourceGroup, source: PluginUpdateSourceName, now?: number): boolean;