import { j as WalkedField } from "../types-BBQaEPfE.mjs"; //#region src/core/fieldPath.d.ts /** * Resolve a dot-separated path through a WalkedField tree. * Supports array index notation: `field[0]`. */ declare function resolvePath(tree: WalkedField, path: string): WalkedField | undefined; /** * Resolve a dot-separated path through a data value. * Supports array index notation: `field[0]`. * * Path segments naming a prototype-polluting property (`__proto__`, * `constructor`, `prototype`) refuse to resolve and return `undefined`. * Without the refusal, an attacker-supplied path would read * `Object.prototype` (or similar) and surface fields injected into the * runtime prototype chain as if they belonged to the user's data. */ declare function resolveValue(root: unknown, path: string): unknown; /** * Set a value at a dot-separated path, producing a new root object. * Does not mutate the input — returns a shallow-updated copy at each level. * * Refuses paths whose segments name a prototype-polluting property * (`__proto__`, `constructor`, `prototype`). Such a path could otherwise * mutate `Object.prototype` (or similar) through the assignment, planting * fields visible to every plain object in the runtime. The input `root` * is returned unchanged so the caller's onChange handler treats the * write as a no-op rather than propagating a poisoned state. This * matches the silent-refusal semantics of `dereference` in `core/ref.ts` * when a JSON Pointer segment names a prototype-polluting key. */ declare function setNestedValue(root: unknown, path: string, leafValue: unknown): unknown; //#endregion export { resolvePath, resolveValue, setNestedValue };