/**
 * Baseline Types
 * Types for baseline/diff mode functionality
 */
import type { VulnerabilityCategory, VulnerabilitySeverity, SeverityCounts, ScanDepth } from '../types';
/**
 * A finding stored in the baseline
 * Contains enough information to identify and display the finding
 */
export interface BaselineFinding {
    /** Finding hash (from computeFindingHash) */
    hash: string;
    /** File path relative to project root */
    filePath: string;
    /** Line number in the file */
    lineNumber: number;
    /** Vulnerability category */
    category: VulnerabilityCategory;
    /** Severity level */
    severity: VulnerabilitySeverity;
    /** Finding title */
    title: string;
}
/**
 * Baseline data stored in .oculum/baseline.json
 */
export interface BaselineData {
    /** Schema version for forward compatibility */
    version: 1;
    /** ISO 8601 timestamp when baseline was created */
    createdAt: string;
    /** Git commit SHA when baseline was created (optional) */
    commit?: string;
    /** Git branch name when baseline was created (optional) */
    branch?: string;
    /** Scan depth used when creating baseline */
    scanDepth?: ScanDepth;
    /** List of findings in the baseline */
    findings: BaselineFinding[];
    /** Summary statistics */
    stats: {
        total: number;
        critical: number;
        high: number;
        medium: number;
        low: number;
        info: number;
    };
}
/**
 * Result of comparing current findings against baseline
 */
export interface DiffResult {
    /** Findings in current scan but NOT in baseline (new issues) */
    new: import('../types').Vulnerability[];
    /** Findings in baseline but NOT in current scan (fixed issues) */
    fixed: BaselineFinding[];
    /** Findings in both current scan AND baseline (existing issues) */
    existing: import('../types').Vulnerability[];
    /** Summary statistics */
    stats: {
        newCount: number;
        fixedCount: number;
        existingCount: number;
        newBySeverity: SeverityCounts;
        fixedBySeverity: SeverityCounts;
    };
}
/**
 * Baseline diff metadata attached to ScanResult
 * Only present when --new flag is used
 */
export interface BaselineDiff {
    /** When the baseline was created */
    baselineCreatedAt: string;
    /** Git commit of the baseline (if available) */
    baselineCommit?: string;
    /** Number of new findings (not in baseline) */
    newCount: number;
    /** Number of fixed findings (in baseline, not in current) */
    fixedCount: number;
    /** Number of existing findings (in both) */
    existingCount: number;
    /** Details of fixed findings for display */
    fixedFindings: BaselineFinding[];
}
/** Default baseline file path relative to project root */
export declare const BASELINE_FILE_PATH = ".oculum/baseline.json";
/** Directory for oculum files */
export declare const OCULUM_DIR = ".oculum";
//# sourceMappingURL=types.d.ts.map