/**
 * InterproceduralPass
 *
 * Performs inter-procedural taint analysis: finds taint escaping the current
 * method into callees and surfaces sinks inside those callees.
 *
 * Handles two scenarios:
 *   A) Sources + sinks already found → find additional sinks inside callees
 *      and generate inter-procedural flows between them.
 *   B) Sources found but no sinks yet → detect external taint escapes
 *      (CWE-668 "external_taint_escape") as a fallback.
 *
 * Depends on: sink-filter, constant-propagation, taint-propagation
 */
import type { TaintSink, TaintFlowInfo, InterproceduralInfo } from '../../types/index.js';
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface InterproceduralPassResult {
    /** Additional sinks surfaced by inter-procedural analysis. */
    additionalSinks: TaintSink[];
    /** Additional flows generated from inter-procedural paths. */
    additionalFlows: TaintFlowInfo[];
    /** Structured inter-procedural summary for the IR output. */
    interprocedural?: InterproceduralInfo;
}
export declare class InterproceduralPass implements AnalysisPass<InterproceduralPassResult> {
    readonly name = "interprocedural";
    readonly category: "security";
    run(ctx: PassContext): InterproceduralPassResult;
}
//# sourceMappingURL=interprocedural-pass.d.ts.map