/**
 * Finding Hash Computation
 * Creates stable, reproducible hashes for identifying specific findings
 */
import type { Vulnerability } from '../types';
/**
 * Normalize a file path for hashing
 * - Removes leading ./ or /
 * - Converts backslashes to forward slashes
 * - Lowercases (for case-insensitive matching)
 */
export declare function normalizePathForHash(filePath: string): string;
/**
 * Normalize line content for hashing
 * - Trims whitespace
 * - Collapses multiple whitespace to single space
 * - Removes common noise (line numbers, etc.)
 */
export declare function normalizeContentForHash(content: string): string;
/**
 * Compute a stable hash for a vulnerability finding
 *
 * Hash = SHA256(normalizedPath:normalizedContent:category).slice(0,16)
 *
 * This creates a 16-character hex hash that:
 * - Stays stable across whitespace changes
 * - Changes when the actual code changes
 * - Changes when the finding category changes
 * - Is unique enough for practical use
 *
 * @param finding - The vulnerability to hash
 * @returns A 16-character hex hash string
 */
export declare function computeFindingHash(finding: Vulnerability): string;
/**
 * Compute hash from raw components (for testing or manual construction)
 */
export declare function computeHashFromComponents(filePath: string, lineContent: string, category: string): string;
/**
 * Validate a hash format
 * Must be 16 hexadecimal characters
 */
export declare function isValidHash(hash: string): boolean;
/**
 * Format a hash for display (with truncation indicator)
 */
export declare function formatHashForDisplay(hash: string): string;
//# sourceMappingURL=hash.d.ts.map