/**
 * Static analysis gate that flags spreadsheet-mutating calls in read-only mode.
 * Detection rules live in the sibling JSON files, which the addin build
 * pipeline (`client/addin/scripts/extract-api.ts`) generates from JSDoc
 * `@tags` on the wrapper-API TypeScript interfaces. Both this runtime and
 * the LangGraph Python backend (`backend/agent/constants/allowed_functions.py`)
 * consume the same shape — keeping them in lockstep is the whole point.
 *
 * Detection is intentionally conservative — false positives (innocent
 * code blocked) are safer than false negatives (write code permitted in
 * read-only mode). Some patterns will match local-variable assignments
 * that happen to share an SDK property name (e.g. a regex for `\.position\s*=`
 * matches `let position = …`). This is by design.
 */
import { type ExecuteCodeSurface as ExecuteCodeSurfaceValue } from '../../../contracts/agent-execute-code.js';
/** Returns the labels of any disallowed write paths the code would invoke. */
export declare function detectEmbeddedReadOnlyViolations(code: string, surface: ExecuteCodeSurfaceValue): string[];
//# sourceMappingURL=read-only-gate.d.ts.map