/**
 * Path Exclusion Utility
 * Provides configurable exclusion of test files, seed files, examples, and fixtures
 * to reduce false positives in security scans.
 */
import type { Vulnerability } from '../shared/types';
export interface ExclusionConfig {
    testPatterns: string[];
    seedPatterns: string[];
    examplePatterns: string[];
    fixturePatterns: string[];
}
export type ExclusionReason = 'test_file' | 'seed_file' | 'example_file' | 'fixture_file' | null;
/**
 * Check if a file path should be excluded from scanning
 * Returns the exclusion reason or null if not excluded
 */
export declare function getExclusionReason(filePath: string, config?: ExclusionConfig): ExclusionReason;
/**
 * Check if a file path should be excluded
 */
export declare function isExcludedPath(filePath: string, config?: Partial<ExclusionConfig>): boolean;
/**
 * Determine if a finding should be suppressed based on file path and category
 *
 * @param finding - The vulnerability finding
 * @param exclusionReason - The reason the file is excluded (if any)
 * @returns true if the finding should be suppressed
 */
export declare function shouldSuppressFinding(finding: Vulnerability, exclusionReason: ExclusionReason): boolean;
/**
 * Get a human-readable description of the exclusion reason
 */
export declare function getExclusionDescription(reason: ExclusionReason): string;
/**
 * Filter findings based on path exclusions
 * Returns findings that should be kept and a list of suppressed findings with reasons
 */
export declare function filterFindingsByPath(findings: Vulnerability[], config?: Partial<ExclusionConfig>): {
    kept: Vulnerability[];
    suppressed: Array<{
        finding: Vulnerability;
        reason: ExclusionReason;
        description: string;
    }>;
};
/**
 * Get the default exclusion configuration
 */
export declare function getDefaultExclusionConfig(): ExclusionConfig;
/**
 * Merge custom exclusion patterns with defaults
 */
export declare function mergeExclusionConfig(custom: Partial<ExclusionConfig>): ExclusionConfig;
//# sourceMappingURL=path-exclusions.d.ts.map