"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.detachedFieldIndexCodecBuilder = void 0;
const internal_1 = require("@fluidframework/runtime-utils/internal");
const index_js_1 = require("../../codec/index.js");
const detachedFieldIndexCodecV1_js_1 = require("./detachedFieldIndexCodecV1.js");
const detachedFieldIndexCodecV2_js_1 = require("./detachedFieldIndexCodecV2.js");
const detachedFieldIndexFormatCommon_js_1 = require("./detachedFieldIndexFormatCommon.js");
exports.detachedFieldIndexCodecBuilder = index_js_1.ClientVersionDispatchingCodecBuilder.build("DetachedFieldIndex", [
    {
        minVersionForCollab: internal_1.lowestMinVersionForCollab,
        formatVersion: detachedFieldIndexFormatCommon_js_1.DetachedFieldIndexFormatVersion.v1,
        codec: (buildData) => (0, detachedFieldIndexCodecV1_js_1.makeDetachedNodeToFieldCodecV1)(buildData.revisionTagCodec, buildData.idCompressor),
    },
    {
        minVersionForCollab: index_js_1.FluidClientVersion.v2_52,
        formatVersion: detachedFieldIndexFormatCommon_js_1.DetachedFieldIndexFormatVersion.v2,
        codec: (buildData) => (0, detachedFieldIndexCodecV2_js_1.makeDetachedNodeToFieldCodecV2)(buildData.revisionTagCodec, buildData.idCompressor),
    },
]);
//# sourceMappingURL=detachedFieldIndexCodecs.js.map