import type { SyncStore } from '../../util/events/sync-store'; import type { JsonNodeApi } from '../model/api/types'; import { JsonPatch } from './JsonPatch'; import type { Path } from '@jsonjoy.com/json-pointer/lib/types'; import type { Model, NodeApi } from '../model'; import type { Operation } from '../../json-patch'; import type { JsonNode, JsonNodeView } from '../nodes'; export declare class JsonPatchStore> implements SyncStore>> { readonly model: Model; readonly path: Path; readonly base?: NodeApi | undefined; readonly patcher: JsonPatch; readonly pfx: string; constructor(model: Model, path?: Path, base?: NodeApi | undefined); readonly update: (change: Operation | Operation[]) => void; readonly add: (path: string | Path, value: unknown) => Operation; readonly replace: (path: string | Path, value: unknown) => Operation; readonly remove: (path: string | Path) => Operation; readonly del: (path: string | Path) => Operation | undefined; readonly get: (path?: string | Path) => unknown; bind(path: string | Path): JsonPatchStore; api(): JsonNodeApi | undefined; readonly subscribe: SyncStore['subscribe']; readonly getSnapshot: () => Readonly>; }