"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Versioned = exports.Format = exports.version = void 0;
const typebox_1 = require("@sinclair/typebox");
const util_1 = require("../../util");
exports.version = 1.0;
// Define the Major and Minor types:
const MajorSchema = typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Number(), typebox_1.Type.Undefined()]);
const MinorSchema = typebox_1.Type.Number();
const ForestRootIdSchema = (0, util_1.brandedNumberType)();
// Define the tuple:
const TupleSchema = typebox_1.Type.Tuple([MajorSchema, MinorSchema, ForestRootIdSchema]);
exports.Format = typebox_1.Type.Object({
    version: typebox_1.Type.Literal(exports.version),
    data: typebox_1.Type.Array(TupleSchema),
    maxId: ForestRootIdSchema,
}, { additionalProperties: false });
exports.Versioned = typebox_1.Type.Object({
    version: typebox_1.Type.Number(),
});
//# sourceMappingURL=detachedFieldIndexFormat.js.map