import type { TypeCheckerContext } from "./types.js"; /** * The `--agency-only` (jsGlobals: "sandbox") name checks that the two * general passes (undefinedFunctions / undefinedVariables) do not cover: * * - `new` expression callees — `new Function(...)`, `new Proxy(...)`; the * class name is a grammar literal the general passes never resolve. * - forbidden property access on ANY value — `k.constructor`, which the * function pass skips because the base is not a JS global. * - names inside declaration-hanging expressions — `@validate(...)` / * `@jsonSchema({...})` tag arguments and array/object default parameter * values, which sit outside the scope bodies the general passes walk. * * The rule is shared: name resolution goes through the same * `resolveCall`/`resolveVariable` against SANDBOX_JS_GLOBALS the general * passes use. Only the set of positions differs. */ export declare function checkSandboxNames(ctx: TypeCheckerContext): void;