/**
 * Pass #32: use-after-close (CWE-672, category: reliability)
 *
 * Detects method calls on a resource variable that occur after the resource
 * has been closed (close/dispose/shutdown).  Using a closed stream or
 * connection throws an IOException or similar, causing unexpected runtime
 * failures.
 *
 * Detection strategy:
 *   1. Find resource-opening calls (same patterns as resource-leak-pass).
 *   2. Find the FIRST close() call on the resource variable within the method.
 *   3. If a close is found, scan subsequent calls on the same receiver variable
 *      that are NOT themselves close calls → use-after-close.
 *
 * Languages: Java, JavaScript, TypeScript, Python, Rust (skip Bash).
 */
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface UseAfterCloseResult {
    useAfterCloses: Array<{
        openLine: number;
        closeLine: number;
        useLine: number;
        variable: string;
    }>;
}
export declare class UseAfterClosePass implements AnalysisPass<UseAfterCloseResult> {
    readonly name = "use-after-close";
    readonly category: "reliability";
    run(ctx: PassContext): UseAfterCloseResult;
}
//# sourceMappingURL=use-after-close-pass.d.ts.map