/**
 * Pass #24: missing-await (CWE-252, category: reliability)
 *
 * Detects calls to well-known async APIs in JavaScript/TypeScript where the
 * returned Promise is silently discarded — the call result is neither awaited
 * nor captured in a variable. This is the "fire-and-forget" pattern that hides
 * errors and makes execution non-deterministic.
 *
 * Detection criteria (ALL must hold):
 *   1. Language is javascript or typescript.
 *   2. The method name is in the curated ASYNC_METHODS set.
 *   3. The source line does NOT contain the `await` keyword.
 *   4. There is no DFG definition at the call's line (result not assigned).
 *
 * Deliberately narrow to keep false-positive rate near zero. Only methods that
 * are essentially always async in practice are included. The `return async()`
 * pattern is excluded (legitimate "pass-through Promise" idiom).
 */
import type { CallInfo } from '../../types/index.js';
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface MissingAwaitPassResult {
    /** Calls where a Promise return value is silently discarded. */
    missingAwaitCalls: CallInfo[];
}
export declare class MissingAwaitPass implements AnalysisPass<MissingAwaitPassResult> {
    readonly name = "missing-await";
    readonly category: "reliability";
    run(ctx: PassContext): MissingAwaitPassResult;
}
//# sourceMappingURL=missing-await-pass.d.ts.map