import type { GatePass } from "./runner/gate-exit.js";
import type { ToolGateResult } from "./hooks.js";
/**
 * Run the fold over the pass: adjudicate, fold the hook-ask, tighten. Writes `req` (re-minted over the FINAL
 * post-screen args), `decision`, `deniedBy` (a direct policy deny's attribution), `policyRewrite` and
 * `tightenedBy`; reads `currentInput` and `hookAsk`. Async because the adjudication and the reversibility
 * probe await; the station ORDER is this function's statement order. Ends by handing the pass to the group after
 * it (`pass.afterFold`, the lanes) in the LAST station's own continuation — no suspension point between the
 * fourth tighten and the org face's read of its rule state (see the seat's note) — and returns what that group
 * returns.
 */
export declare function runGateFold(pass: GatePass): Promise<ToolGateResult>;
