"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.EncodedModularChangesetV2 = void 0;
const typebox_1 = require("@sinclair/typebox");
const modularChangeFormatV1_js_1 = require("./modularChangeFormatV1.js");
const noAdditionalProps = { additionalProperties: false };
const EncodedNoChangeConstraint = typebox_1.Type.Object({
    violated: typebox_1.Type.Boolean(),
}, noAdditionalProps);
exports.EncodedModularChangesetV2 = typebox_1.Type.Composite([
    modularChangeFormatV1_js_1.EncodedModularChangesetV1,
    typebox_1.Type.Object({
        /** Global no change constraint that gets violated whenever the changeset is rebased */
        noChangeConstraint: typebox_1.Type.Optional(EncodedNoChangeConstraint),
    }, noAdditionalProps),
], noAdditionalProps);
//# sourceMappingURL=modularChangeFormatV2.js.map