/**
 * Pass #28: unchecked-return (CWE-252, category: reliability)
 *
 * Detects calls to methods that signal success/failure via their return value
 * when that return value is silently discarded. Missing the check means silent
 * failure propagation that can corrupt application state.
 *
 * Detection strategy:
 *   Two-tier curated list:
 *   HIGH: Always flag — the method's name is unambiguous (e.g. File.delete,
 *         Matcher.find, Lock.tryLock) and discarding is almost always a bug.
 *   MEDIUM: Flag only when the receiver name suggests a File object —
 *           guards against common false positives on generic names.
 *
 *   For each candidate call:
 *     1. If there is a DFG def at the call's line, the result was captured.
 *     2. If the source line matches a conditional/assertion pattern, the
 *        return value is already being used.
 *     If neither applies → emit finding.
 */
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface UncheckedReturnResult {
    /** Calls where the return value is silently discarded. */
    uncheckedCalls: Array<{
        line: number;
        method: string;
        receiver: string | null;
    }>;
}
export declare class UncheckedReturnPass implements AnalysisPass<UncheckedReturnResult> {
    readonly name = "unchecked-return";
    readonly category: "reliability";
    run(ctx: PassContext): UncheckedReturnResult;
}
//# sourceMappingURL=unchecked-return-pass.d.ts.map