/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Mark, MarkList, ObjectMark, Skip } from "./format";
import { MoveEffectTable } from "./moveEffectTable";
/**
 * Helper class for constructing an offset list of marks that...
 * - Does not insert offsets if there is no content after them
 * - Does not insert 0-sized offsets
 * - Merges runs of offsets together
 * - Merges marks together
 */
export declare class MarkListFactory<TNodeChange> {
    private readonly revision?;
    private readonly moveEffects?;
    private readonly recordMerges;
    private offset;
    readonly list: MarkList<TNodeChange>;
    constructor(revision?: import("@fluidframework/runtime-definitions").StableId | undefined, moveEffects?: MoveEffectTable<TNodeChange> | undefined, recordMerges?: boolean);
    push(...marks: Mark<TNodeChange>[]): void;
    pushOffset(offset: Skip): void;
    pushContent(mark: ObjectMark<TNodeChange>): void;
}
//# sourceMappingURL=markListFactory.d.ts.map