/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { RevisionTag } from "../../core";
import { RevisionIndexer } from "../modular-schema";
import { Mark } from "./format";
export declare class IndexTracker {
    private readonly revisionIndexer;
    private inputIndex;
    private readonly contributions;
    constructor(revisionIndexer: RevisionIndexer);
    advance(mark: Mark<unknown>): void;
    /**
     * @param revision - The revision of interest.
     * @returns The index of the next base mark in the input context of `revision`.
     */
    getIndex(revision: RevisionTag): number;
}
export declare class GapTracker {
    private readonly revisionIndexer;
    private readonly map;
    constructor(revisionIndexer: RevisionIndexer);
    advance(mark: Mark<unknown>): void;
    /**
     * @param revision - The revision of interest.
     * @returns The offset of the next base mark in the gap left by `revision`.
     * Zero if `revision` did not detach nodes at this location.
     */
    getOffset(revision: RevisionTag): number;
}
//# sourceMappingURL=tracker.d.ts.map