/** * Taint source/sink matcher * * Matches method calls and annotations against taint configurations. */ import type { CallInfo, TypeInfo, TaintSource, TaintSink, Taint, SupportedLanguage } from '../types/index.js'; import type { TaintConfig, SinkPattern } from '../types/config.js'; import type { TypeHierarchyResolver } from '../resolution/type-hierarchy.js'; /** * Analyze code for taint sources, sinks, and sanitizers. * * When `code` is provided, each emitted TaintSource/TaintSink is annotated with * its trimmed source-line text in the `code` field. Consumers (LLM enrichment * pipelines, SARIF reporters) can then render the offending line without * re-reading the file. */ export declare function analyzeTaint(calls: CallInfo[], types: TypeInfo[], config?: TaintConfig, typeHierarchy?: TypeHierarchyResolver, language?: SupportedLanguage, code?: string): Taint; /** * Attach trimmed source-line text to each TaintSource / TaintSink at its * recorded line. Idempotent — only fills `code` when missing. Used by passes * that emit sources/sinks outside of `analyzeTaint()` (e.g. LanguageSourcesPass). */ export declare function attachSourceLineCode(sources: TaintSource[], sinks: TaintSink[], code: string): void; /** * Check if a variable at a given position flows to a dangerous sink argument. */ export declare function isInDangerousPosition(argPosition: number, pattern: SinkPattern): boolean; //# sourceMappingURL=taint-matcher.d.ts.map