/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IIdCompressor } from "@fluidframework/id-compressor";
import { ICodecFamily, ICodecOptions } from "../codec";
import { ChangeEncodingContext, ChangeFamily, ChangeRebaser, RevisionMetadataSource, TaggedChange } from "../core";
import { FieldBatchCodec } from "../feature-libraries";
import { SharedTreeChange } from "./sharedTreeChangeTypes";
import { SharedTreeEditBuilder } from "./sharedTreeEditBuilder";
/**
 * Implementation of {@link ChangeFamily} that combines edits to fields and schema changes.
 *
 * @sealed
 */
export declare class SharedTreeChangeFamily implements ChangeFamily<SharedTreeEditBuilder, SharedTreeChange>, ChangeRebaser<SharedTreeChange> {
    static readonly emptyChange: SharedTreeChange;
    readonly codecs: ICodecFamily<SharedTreeChange, ChangeEncodingContext>;
    private readonly modularChangeFamily;
    constructor(idCompressor: IIdCompressor, fieldBatchCodec: FieldBatchCodec, codecOptions: ICodecOptions);
    buildEditor(changeReceiver: (change: SharedTreeChange) => void): SharedTreeEditBuilder;
    compose(changes: TaggedChange<SharedTreeChange>[]): SharedTreeChange;
    invert(change: TaggedChange<SharedTreeChange>, isRollback: boolean): SharedTreeChange;
    rebase(change: SharedTreeChange, over: TaggedChange<SharedTreeChange>, revisionMetadata: RevisionMetadataSource): SharedTreeChange;
    get rebaser(): ChangeRebaser<SharedTreeChange>;
}
//# sourceMappingURL=sharedTreeChangeFamily.d.ts.map