"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.EncodedEditManager = void 0;
const typebox_1 = require("@sinclair/typebox");
const index_js_1 = require("../core/index.js");
const editManagerFormatCommons_js_1 = require("./editManagerFormatCommons.js");
const noAdditionalProps = { additionalProperties: false };
const EncodedEditManager = (tChange) => typebox_1.Type.Object({
    version: typebox_1.Type.Union([
        typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v1),
        typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v2),
        typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v3),
        typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v4),
        typebox_1.Type.Literal(editManagerFormatCommons_js_1.EditManagerFormatVersion.v6),
    ]),
    trunk: typebox_1.Type.Array((0, editManagerFormatCommons_js_1.SequencedCommit)(tChange)),
    branches: typebox_1.Type.Array(typebox_1.Type.Tuple([index_js_1.SessionIdSchema, (0, editManagerFormatCommons_js_1.SummarySessionBranch)(tChange)])),
}, noAdditionalProps);
exports.EncodedEditManager = EncodedEditManager;
/* eslint-enable @typescript-eslint/explicit-function-return-type */
//# sourceMappingURL=editManagerFormatV1toV4.js.map