/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
import { IBatch } from "./definitions.js";
export declare function isGroupedBatch(op: ISequencedDocumentMessage): boolean;
export interface OpGroupingManagerConfig {
    readonly groupedBatchingEnabled: boolean;
    readonly opCountThreshold: number;
    readonly reentrantBatchGroupingEnabled: boolean;
}
export declare class OpGroupingManager {
    private readonly config;
    static readonly groupedBatchOp = "groupedBatch";
    private readonly logger;
    constructor(config: OpGroupingManagerConfig, logger: ITelemetryBaseLogger);
    groupBatch(batch: IBatch): IBatch;
    ungroupOp(op: ISequencedDocumentMessage): ISequencedDocumentMessage[];
    shouldGroup(batch: IBatch): boolean;
}
//# sourceMappingURL=opGroupingManager.d.ts.map