/// <reference types="node" />
import { ITreeNode, IReversibleJsonPatch, IChange, MosxTracker } from "../internal";
import { PatchPack } from "patchpack";
import { Serializer } from ".";
export declare class SchemaSerializer extends Serializer {
    patchPack: PatchPack;
    deleted: number;
    constructor(tracker: MosxTracker);
    onCreate(): void;
    onCreateNode(entry: ITreeNode, target: any): void;
    onDeleteNode(entry: ITreeNode): void;
    afterChange(change: IChange): void;
    beforeChange(change: IChange, parent: ITreeNode): void;
    encodeSnapshot(value: any): Buffer;
    decodeSnapshot(buffer: Buffer): any;
    encodePatch(patch: IReversibleJsonPatch, entry: ITreeNode): Buffer;
    decodePatch(buffer: Buffer): import("patchpack").IReversibleJsonPatch;
}
