import type { ObjectPaths, ValueAtPath, Split, ObjectChangeCommand } from "../types/misc.types"; export declare const traverseObj: (obj: T, path: string) => { current: any; lastKey: string | number; }; export declare const updateObjectPath: >({ obj, path, value, }: { obj: T; path: P; value: ValueAtPath>; }) => void; export declare const removeArrayElementAtPath: >({ obj, path, index, }: { obj: T; path: P & (ValueAtPath> extends any[] ? unknown : never); index: number; }) => void; export declare const removeObjectKeyAtPath: >({ obj, path, key, }: { obj: T; path: P; key: string; }) => void; export declare const applyChanges: >({ obj, changes, }: { obj: T; changes: ObjectChangeCommand[]; }) => void;