/**
 * TaintMatcherPass
 *
 * First pass in the analysis pipeline. Merges language-plugin built-in
 * sources/sinks into the config, runs config-based taint matching, and
 * extracts @sanitizer-annotated method names from type declarations.
 */
import type { TaintSource, TaintSink, TaintSanitizer } from '../../types/index.js';
import type { TaintConfig } from '../../types/config.js';
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface TaintMatcherResult {
    sources: TaintSource[];
    sinks: TaintSink[];
    sanitizers: TaintSanitizer[];
    /** Method names annotated with @sanitizer (for ConstantPropagationPass). */
    sanitizerMethods: string[];
    /** Final merged config (with plugin extensions applied). */
    config: TaintConfig;
}
export declare class TaintMatcherPass implements AnalysisPass<TaintMatcherResult> {
    readonly name = "taint-matcher";
    readonly category: "security";
    run(ctx: PassContext): TaintMatcherResult;
}
//# sourceMappingURL=taint-matcher-pass.d.ts.map