/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Type } from "@sinclair/typebox";
import { unionOptions } from "../../codec/index.js";
import { CellId, CellMark, MarkEffect as MarkEffectV2, } from "./formatV2.js";
const noAdditionalProps = { additionalProperties: false };
const Rename = Type.Object({
    idOverride: CellId,
}, noAdditionalProps);
const MarkEffect = Type.Composite([MarkEffectV2, Type.Object({ rename: Type.Optional(Rename) })], unionOptions);
// Return type is intentionally derived.
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
const Mark = (tNodeChange) => CellMark(MarkEffect, tNodeChange);
// Return type is intentionally derived.
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
export const Changeset = (tNodeChange) => Type.Array(Mark(tNodeChange));
//# sourceMappingURL=formatV3.js.map