/** Risk level of a pending major version migration. */
export type DynamicMigrationRisk = 'critical' | 'high' | 'medium' | 'low';
/** Package ecosystem where the migration was detected. */
export type MigrationEcosystem = 'npm' | 'pypi' | 'cargo' | 'go' | 'maven' | 'composer' | 'rubygems' | 'nuget' | 'pub' | 'swiftpm';
/** Recommended timing window to perform the migration. */
export type DynamicMigrationWindow = 'immediate' | 'next-sprint' | 'backlog';
/** Estimated effort category for completing a migration. */
export type DynamicMigrationEffort = 'hours' | 'days' | 'weeks';
/** A single pending major version upgrade detected in a project. */
export interface PendingMigration {
    ecosystem: MigrationEcosystem;
    package: string;
    currentMajor: number;
    latestMajor: number;
    risk: DynamicMigrationRisk;
    reason: string;
    migrationWindow: DynamicMigrationWindow;
}
/** Actionable migration plan generated for a PendingMigration. */
export interface DynamicMigrationPlan {
    migration: PendingMigration;
    steps: string[];
    transitiveDependents: string[];
    estimatedEffort: DynamicMigrationEffort;
}
/** Full result of running detectPendingMajorMigrations on a project path. */
export interface DynamicMigrationResult {
    projectPath: string;
    pending: PendingMigration[];
    totalPending: number;
    criticalCount: number;
    summary: string;
}
/** Per-ecosystem configuration in the migration policies catalog. */
export interface EcosystemCatalogEntry {
    knownMajors: Record<string, number>;
    eolPackages?: EolPackageEntry[];
    securityRiskPackages?: string[];
}
/** EOL entry for a package (includes the date the major version became EOL). */
export interface EolPackageEntry {
    name: string;
    major: number;
    eolDate: string;
}
/** Risk thresholds for classifying migration urgency. */
export interface MigrationRiskThresholds {
    stableMonthsForMedium: number;
    newReleaseMonthsForLow: number;
}
/** Team-defined custom policy overriding catalog defaults for a specific package. */
export interface CustomMigrationPolicy {
    ecosystem: MigrationEcosystem;
    package: string;
    latestMajor: number;
    risk?: DynamicMigrationRisk;
    eolDate?: string;
    securityRisk?: boolean;
}
/** Top-level shape of migration-policies-catalog.json. */
export interface MigrationPoliciesCatalog {
    ecosystems: Record<string, EcosystemCatalogEntry>;
    riskThresholds: MigrationRiskThresholds;
    customPolicies: CustomMigrationPolicy[];
}
/** Map of package name → installed major version, parsed from a manifest file. */
export type PackageMajorMap = Map<string, number>;
//# sourceMappingURL=dynamic-migration.d.ts.map