/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
import type { OutboundSingletonBatch } from "./definitions.js";
/**
 * Compresses batches of ops.
 *
 * @remarks Only single-message batches are supported
 * Use opGroupingManager to group a batch into a singleton batch suitable for compression.
 */
export declare class OpCompressor {
    private readonly logger;
    constructor(logger: ITelemetryBaseLogger);
    /**
     * Combines the contents of the singleton batch into a single JSON string and compresses it, putting
     * the resulting string as the message contents in place of the original uncompressed payload.
     * @param batch - The batch to compress. Must have only 1 message
     * @returns A singleton batch containing a single compressed message
     */
    compressBatch(batch: OutboundSingletonBatch): OutboundSingletonBatch;
    /**
     * Combine the batch's content strings into a single JSON string (a serialized array)
     */
    private serializeBatchContents;
}
//# sourceMappingURL=opCompressor.d.ts.map