"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.EncodedGenericChangeset = exports.EncodedGenericChange = void 0;
const typebox_1 = require("@sinclair/typebox");
/**
 * Note: TS doesn't easily support extracting a generic function's return type until 4.7:
 * https://github.com/microsoft/TypeScript/pull/47607
 * This type is a workaround and can be removed once we're on a version of typescript which
 * supports expressions more like:
 * `Static<ReturnType<typeof EncodedGenericChange<Schema>>>`
 */
class Wrapper {
    encodedGenericChange(e) {
        return (0, exports.EncodedGenericChange)(e);
    }
    encodedGenericChangeset(e) {
        return (0, exports.EncodedGenericChangeset)(e);
    }
}
const EncodedGenericChange = (tNodeChangeset) => typebox_1.Type.Tuple([typebox_1.Type.Number({ minimum: 0, multipleOf: 1 }), tNodeChangeset]);
exports.EncodedGenericChange = EncodedGenericChange;
const EncodedGenericChangeset = (tNodeChangeset) => typebox_1.Type.Array((0, exports.EncodedGenericChange)(tNodeChangeset));
exports.EncodedGenericChangeset = EncodedGenericChangeset;
//# sourceMappingURL=genericFieldKindFormat.js.map