/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ICombiningOp, IMergeTreeAnnotateMsg } from "./ops";
import { PropertySet } from "./properties";
export declare enum PropertiesRollback {
    /** Not in a rollback */
    None = 0,
    /** Rollback */
    Rollback = 1,
    /** Rollback of a rewrite */
    Rewrite = 2
}
export declare class PropertiesManager {
    private pendingKeyUpdateCount;
    private pendingRewriteCount;
    constructor();
    ackPendingProperties(annotateOp: IMergeTreeAnnotateMsg): void;
    private decrementPendingCounts;
    addProperties(oldProps: PropertySet, newProps: PropertySet, op?: ICombiningOp, seq?: number, collaborating?: boolean, rollback?: PropertiesRollback): PropertySet | undefined;
    copyTo(oldProps: PropertySet, newProps: PropertySet | undefined, newManager: PropertiesManager): PropertySet | undefined;
    hasPendingProperties(): boolean;
    hasPendingProperty(key: string): boolean;
}
//# sourceMappingURL=segmentPropertiesManager.d.ts.map