/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type ICodecOptions, type IJsonCodec } from "../../../codec/index.js";
import { type SchemaAndPolicy } from "../../../core/index.js";
import type { JsonCompatibleReadOnly } from "../../../util/index.js";
import { TreeCompressionStrategy } from "../../treeCompressionUtils.js";
import type { FieldBatch } from "./fieldBatch.js";
import { EncodedFieldBatch } from "./format.js";
import type { IIdCompressor, SessionId } from "@fluidframework/id-compressor";
export interface FieldBatchEncodingContext {
    readonly encodeType: TreeCompressionStrategy;
    readonly idCompressor: IIdCompressor;
    readonly originatorId: SessionId;
    readonly schema?: SchemaAndPolicy;
}
/**
 * @remarks
 * Fields in this batch currently don't have field schema for the root, which limits optimizations.
 */
export type FieldBatchCodec = IJsonCodec<FieldBatch, EncodedFieldBatch, JsonCompatibleReadOnly, FieldBatchEncodingContext>;
export declare function makeFieldBatchCodec(options: ICodecOptions, writeVersion: number): FieldBatchCodec;
//# sourceMappingURL=codecs.d.ts.map