/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/**
 * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.
 * This should only be used for fields where the child nodes cannot be edited.
 */
export function referenceFreeFieldChangeRebaser(data) {
    return isolatedFieldChangeRebaser({
        compose: (change1, change2, _composeChild, _genId) => data.compose(change1, change2),
        invert: (change, _invertChild, _genId) => data.invert(change),
        rebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over),
    });
}
export function isolatedFieldChangeRebaser(data) {
    return {
        ...data,
        prune: (change) => change,
        replaceRevisions: (change) => change,
    };
}
/**
 * @internal
 */
export var NodeAttachState;
(function (NodeAttachState) {
    NodeAttachState[NodeAttachState["Attached"] = 0] = "Attached";
    NodeAttachState[NodeAttachState["Detached"] = 1] = "Detached";
})(NodeAttachState || (NodeAttachState = {}));
//# sourceMappingURL=fieldChangeHandler.js.map