import { TypeContext } from "../types/TypeContext";
import { ChangeTree } from "./ChangeTree";
export declare class Root {
    types: TypeContext;
    protected nextUniqueId: number;
    refCount: {
        [id: number]: number;
    };
    changeTrees: {
        [refId: number]: ChangeTree;
    };
    allChanges: ChangeTree[];
    allFilteredChanges: ChangeTree[];
    changes: ChangeTree[];
    filteredChanges: ChangeTree[];
    constructor(types: TypeContext);
    getNextUniqueId(): number;
    add(changeTree: ChangeTree): boolean;
    remove(changeTree: ChangeTree): number;
    removeChangeFromChangeSet(changeSetName: "allChanges" | "changes" | "filteredChanges" | "allFilteredChanges", changeTree: ChangeTree): boolean;
    clear(): void;
}
