/** * Update Policy — filters and prioritizes dependency update candidates * based on configurable policies. * * Requirements: 11.1, 11.6, 11.7 */ import type { PackageVersionInfo } from './registry-client.js'; export type UpdateStrategy = 'patch' | 'minor' | 'major' | 'all'; export interface UpdatePolicy { /** Default strategy for all packages */ defaultStrategy: UpdateStrategy; /** Per-package overrides */ packageOverrides: Record; /** Maximum number of updates to suggest */ maxUpdates: number; /** Skip dependencies published less than N days ago */ minAgeDays: number; /** Auto-group related packages (e.g. @babel/*) */ groupRelatedPackages: boolean; /** Packages to never auto-update */ pinned: string[]; } export interface UpdateCandidate { packageName: string; ecosystem: string; currentVersion: string; targetVersion: string; updateType: 'patch' | 'minor' | 'major'; versionInfo: PackageVersionInfo; /** Grouping key for related packages */ groupKey?: string; } /** * Classify the update type by comparing semver versions. * * Property 20: Update type classification correctness */ export declare function classifyUpdateType(currentVersion: string, targetVersion: string): 'patch' | 'minor' | 'major' | null; /** * Apply update policy to filter and prioritize update candidates. * * Flow: * 1. For each dependency, determine available updates * 2. Filter by policy (strategy, pinned list, min age) * 3. Group related packages if enabled * 4. Sort by priority: security patches > patch > minor > major * 5. Truncate to maxUpdates */ export declare function applyUpdatePolicy(versionInfoMap: Map, policy: UpdatePolicy, ecosystem: string): UpdateCandidate[]; //# sourceMappingURL=update-policy.d.ts.map