/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ChangeFamily, ChangeFamilyEditor } from "./changeFamily";
export declare abstract class EditBuilder<TChange> implements ChangeFamilyEditor {
    protected readonly changeFamily: ChangeFamily<ChangeFamilyEditor, TChange>;
    private readonly changeReceiver;
    constructor(changeFamily: ChangeFamily<ChangeFamilyEditor, TChange>, changeReceiver: (change: TChange) => void);
    /**
     * Subclasses add editing methods which call this with their generated edits.
     *
     * @sealed
     */
    protected applyChange(change: TChange): void;
    enterTransaction(): void;
    exitTransaction(): void;
}
//# sourceMappingURL=editBuilder.d.ts.map