export type DependencyStatusCode = 'up_to_date' | 'outdated_patch' | 'outdated_minor' | 'outdated_major' | 'vulnerable' | 'unmaintained';
export type DepSeverity = 'info' | 'warning' | 'critical';
export interface AuditedDependency {
    name: string;
    currentVersion: string;
    latestStableVersion: string;
    statusCode: DependencyStatusCode;
    severity: DepSeverity;
    cves: string[];
    dependencyChain?: string;
    isTransitive: boolean;
}
export interface StackHealthScore {
    score: number;
    totalDeps: number;
    byStatus: Record<DependencyStatusCode, number>;
    topActions: string[];
}
export interface StackAuditResult {
    projectId: string;
    timestamp: string;
    ecosystem: string;
    dependencies: AuditedDependency[];
    healthScore: StackHealthScore;
    runtimeVersions: RuntimeVersionStatus[];
    deltaFromLast?: StackAuditDelta;
}
export interface RuntimeVersionStatus {
    runtime: string;
    currentVersion: string;
    latestStable: string;
    statusCode: Omit<DependencyStatusCode, 'vulnerable' | 'unmaintained'>;
    source: string;
}
export interface StackAuditDelta {
    newVulnerabilities: AuditedDependency[];
    resolved: string[];
    worsened: AuditedDependency[];
}
export type UpgradeRiskLevel = 'low' | 'medium' | 'high' | 'breaking';
export interface UpgradeBreakingChange {
    description: string;
    affectedPattern: string;
    migrationAction: string;
    impact: 'impacted' | 'not_impacted' | 'unknown';
}
export interface UpgradePlan {
    packageName: string;
    fromVersion: string;
    toVersion: string;
    riskLevel: UpgradeRiskLevel;
    estimatedEffortHours: number;
    isAutoSafe: boolean;
    breakingChanges: UpgradeBreakingChange[];
    steps: string[];
    rollbackProcedure: string;
    testingChecklist: string[];
}
export interface StackAuditConfig {
    ignore: string[];
    allowedMajorLag: number;
    scanPaths: string[];
    deprecationPatternSets: string[];
}
export interface ManifestData {
    ecosystem: string;
    directDependencies: Record<string, string>;
    lockfileVersions: Map<string, string>;
    runtimeVersions: RuntimeVersionStatus[];
}
export interface AuditStackOptions {
    deltaMode?: boolean;
    lastAudit?: StackAuditResult;
}
export interface AuditStackInput {
    projectId: string;
    projectPath: string;
    format?: 'summary' | 'json';
    since?: string;
    failOn?: 'none' | 'warning' | 'critical';
    ci?: boolean;
}
export interface PlanUpgradeInput {
    projectId: string;
    projectPath: string;
    packageName: string;
    fromVersion: string;
    targetVersion: string;
    changelogText?: string;
    format?: 'summary' | 'json';
}
export interface VulnerableRange {
    minVersion: string;
    maxVersion: string;
    cves: string[];
}
export interface KnownVulnerablePackage {
    ranges: VulnerableRange[];
}
//# sourceMappingURL=audit.d.ts.map