/**
 * Pass #32: serial-await (category: performance)
 *
 * Detects sequential `await` expressions in JavaScript/TypeScript where the
 * two awaited operations have no data dependency — they could be parallelised
 * with `Promise.all()`.
 *
 * Detection strategy:
 *   1. Per function (group lines by enclosing method via `graph.methodAtLine()`),
 *      scan lines in order for `await` patterns.
 *   2. For consecutive pairs `(line1, line2)`:
 *      a. Find the DFG def created at `line1` (if any) — this is the result
 *         variable bound to the first await.
 *      b. Check whether that variable name appears verbatim in the source
 *         line at `line2`.
 *      c. Also check whether any def on `line2` appears in `line1`'s source.
 *      d. If neither direction has a textual dependency: the two awaits are
 *         independent.
 *   3. If a function has ≥ 2 independent consecutive awaits: emit one finding
 *      per function at the first independent pair's line.
 *
 * Languages: JavaScript and TypeScript only.
 */
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface SerialAwaitResult {
    serialAwaits: Array<{
        functionLine: number;
        firstAwaitLine: number;
        secondAwaitLine: number;
    }>;
}
export declare class SerialAwaitPass implements AnalysisPass<SerialAwaitResult> {
    readonly name = "serial-await";
    readonly category: "performance";
    run(ctx: PassContext): SerialAwaitResult;
}
//# sourceMappingURL=serial-await-pass.d.ts.map