/** * Package management API provider for checking versions, vulnerabilities, and licenses */ export type PackageManager = 'npm' | 'pnpm' | 'yarn'; export interface PackageVersionInfo { name: string; currentVersion: string; } export interface VersionCheckResult { packageName: string; currentVersion: string; latestVersion?: string; updateType?: 'major' | 'minor' | 'patch' | 'none'; isOutdated: boolean; isDeprecated?: boolean; deprecationMessage?: string; error?: string; } export interface VulnerabilityInfo { id: string; severity: 'low' | 'moderate' | 'high' | 'critical'; title: string; description?: string; fixAvailable?: boolean; } export interface VulnerabilityCheckResult { packageName: string; version: string; vulnerabilities: VulnerabilityInfo[]; error?: string; } export interface LicenseInfo { license: string; licenseType: 'permissive' | 'copyleft' | 'proprietary' | 'unknown'; requiresAttribution: boolean; requiresShareAlike: boolean; allowsCommercialUse: boolean; } export interface LicenseCheckResult { packageName: string; version: string; license?: LicenseInfo; error?: string; } export interface DependencyCheckProgress { phase: 'idle' | 'counting' | 'checking-versions' | 'checking-vulnerabilities' | 'checking-licenses' | 'complete'; current: number; total: number; message?: string; } export interface BatchCheckOptions { batchSize?: number; maxConcurrent?: number; skipCache?: boolean; } /** * Abstract provider for package manager API operations * Implementations can use direct API calls, server proxies, or mock data */ export declare abstract class PackageManagerApiProvider { /** * Check versions for multiple packages, yielding results as they complete */ abstract checkVersions(packages: PackageVersionInfo[], packageManager: PackageManager, options?: BatchCheckOptions): AsyncGenerator; /** * Check vulnerabilities for multiple packages, yielding results as they complete */ abstract checkVulnerabilities(packages: PackageVersionInfo[], packageManager: PackageManager, options?: BatchCheckOptions): AsyncGenerator; /** * Check licenses for multiple packages, yielding results as they complete */ abstract checkLicenses(packages: PackageVersionInfo[], packageManager: PackageManager, options?: BatchCheckOptions): AsyncGenerator; /** * Get overall progress of the current check operation */ abstract getProgress(): DependencyCheckProgress; } //# sourceMappingURL=PackageManagerApiProvider.d.ts.map