import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import { Fragment } from '@atlaskit/editor-prosemirror/model';
export type NarrowedReplacement = {
    adjustedContentStartOffsets: number[];
    end: number;
    fragment: Fragment;
    start: number;
};
/**
 * Narrows a full-list replacement to the minimal changed range.
 *
 * Compares the old root list node with the new replacement fragment
 * from both ends to find the first and last positions where they differ,
 * then returns only the changed subrange.
 *
 * This reduces the scope of `tr.replaceWith()` so that remote cursors
 * on unchanged items are preserved during collaborative editing.
 */
export declare function narrowReplacementRange(doc: PMNode, rootListStart: number, rootListEnd: number, fragment: Fragment, contentStartOffsets: number[]): NarrowedReplacement;
