import { r as TraverseOptions, t as TraverseContext } from "../node_modules/.pnpm/neotraverse@1.0.1/node_modules/neotraverse/dist/utils-Bfb1gHfd.mjs"; //#region src/traverse/traverse-map.d.ts /** * Like {@link traverseForEach}, but returns a deeply-cloned copy of `value` * with every mutation applied via the context, leaving the input untouched. * * The result keeps the input's static shape (`T`); leaf-type changes made * through `context.update` are not reflected in the type. Hardened against * prototype pollution. * @param value - The (possibly nested) value to map over. * @param callback - Invoked as `(context, node)` for every node; use `context.update` to transform. * @param options - Traversal options (`immutable`, `includeSymbols`, `maxDepth`, ...). * @returns A new value of the same shape with the transformations applied. * @example * traverseMap({count: 1}, (context, node) => { * if (typeof node === 'number') { * context.update(node + 1); * } * }); * // {count: 2} */ declare const traverseMap: (value: T, callback: (context: TraverseContext, node: unknown) => void, options?: TraverseOptions) => T; //#endregion export { traverseMap };