import type { Transaction } from "../pm/state.js";
/**
 * Returns true if the transaction is a single text-insertion step
 * (e.g. typing one character).
 */
export declare function isTextInsertTr(tr: Transaction): boolean;
/**
 * Returns true if the transaction is a single-character deletion
 * (deletion of exactly one position, no replacement content).
 */
export declare function isSingleCharDeleteTr(tr: Transaction): boolean;
/**
 * Returns true if the transaction does not change the structural shape
 * of the document — i.e. the relative order/nesting of blocks and node
 * attrs (outside of marks/doc-attrs) stay the same. Absolute positions
 * may still shift due to text being inserted or removed within textblocks.
 * Such transactions only insert/delete text within a textblock or toggle
 * marks/doc-attrs.
 */
export declare function isNonStructuralTr(tr: Transaction): boolean;
