/**
 * Centralized Security Rule Definitions
 *
 * Single source of truth for vulnerability types, severity levels,
 * descriptions, and remediation advice used across the codebase.
 */
import type { SinkType, Severity } from '../types/index.js';
/** Sinks that warrant critical severity when exploitable. */
export declare const CRITICAL_SINKS: SinkType[];
/** Sinks that warrant high severity. */
export declare const HIGH_SINKS: SinkType[];
/** Source types that represent direct HTTP user input. */
export declare const HIGH_SEVERITY_SOURCES: string[];
export interface RuleInfo {
    /** Human-readable vulnerability name */
    name: string;
    /** Brief description for summaries */
    shortDescription: string;
    /** Detailed description for reports */
    fullDescription: string;
    /** Remediation guidance */
    remediation: string;
    /** CVSS-like severity score (0-10 scale as string) */
    cvssScore: string;
    /** Severity level category */
    severityLevel: Severity;
    /** CWE identifier */
    cwe: string;
}
/**
 * Complete rule definitions for all supported vulnerability types.
 */
export declare const RULE_DEFINITIONS: Record<SinkType, RuleInfo>;
/**
 * Get complete rule information for a sink type.
 */
export declare function getRuleInfo(sinkType: SinkType | string): RuleInfo;
/**
 * Get remediation advice for a sink type.
 */
export declare function getRemediation(sinkType: SinkType | string): string;
/**
 * Get severity level for a sink type.
 */
export declare function getSeverityLevel(sinkType: SinkType | string): Severity;
/**
 * Get CWE identifier for a sink type.
 */
export declare function getCwe(sinkType: SinkType | string): string;
/**
 * Check if a sink type is critical severity.
 */
export declare function isCriticalSink(sinkType: SinkType | string): boolean;
/**
 * Check if a sink type is high severity.
 */
export declare function isHighSink(sinkType: SinkType | string): boolean;
/**
 * Get human-readable description for a source type.
 */
export declare function getSourceDescription(sourceType: string): string;
/**
 * Get human-readable description for a sink type.
 */
export declare function getSinkDescription(sinkType: SinkType | string): string;
export interface SeverityContext {
    sourceType?: string;
    sinkType: SinkType | string;
    pathExists: boolean;
    confidence?: number;
}
/**
 * Calculate severity based on source, sink, and path information.
 */
export declare function calculateSeverity(context: SeverityContext): Severity;
//# sourceMappingURL=rules.d.ts.map