import { IAtom } from "mobx";
import type { ParentPath } from "./path";
/**
 * @ignore
 */
export declare const objectParents: WeakMap<object, ParentPath<object> | undefined>;
/**
 * @ignore
 */
export declare const objectParentsAtoms: WeakMap<object, IAtom>;
/**
 * @ignore
 */
export declare function parentPathEquals(parentPath1: ParentPath<any> | undefined, parentPath2: ParentPath<any> | undefined, comparePath?: boolean): boolean;
/**
 * @ignore
 */
export declare function reportParentPathObserved(node: object): void;
/**
 * @ignore
 */
export declare function reportParentPathChanged(node: object): void;
/**
 * @ignore
 */
export declare const dataObjectParent: WeakMap<object, object>;
/**
 * @ignore
 */
export declare function dataToModelNode<T extends object>(node: T): T;
/**
 * @ignore
 */
export declare function modelToDataNode<T extends object>(node: T): T;
