import { PartialBlock } from "@blocknote/core";
import { Node } from "prosemirror-model";
import { ReplaceStep } from "prosemirror-transform";
/**
 * This turns a single update `op` (that is, an update that could affect different parts of a block)
 * into more granular steps (that is, each step only affects a single part of the block), by using a diffing algorithm.
 *
 * @param editor the editor to apply the update to (only used for schema info)
 * @param op the update operation to apply
 * @param doc the document to apply the update to
 * @param dontReplaceContentAtEnd whether to not replace content at the end of the block (set to true processing "partial updates")
 * @param updateFromPos the position to start the update from (can be used for selections)
 * @param updateToPos the position to end the update at (can be used for selections)
 * @returns the granular steps to apply to the editor to get to the updated doc
 */
export declare function updateToReplaceSteps(op: {
    id: string;
    block: PartialBlock<any, any, any>;
}, doc: Node, dontReplaceContentAtEnd?: boolean, updateFromPos?: number, updateToPos?: number): ReplaceStep[];
