import type { Node, ResolvedPos } from '@atlaskit/editor-prosemirror/model'; import type { EditorState, ReadonlyTransaction, Transaction } from '@atlaskit/editor-prosemirror/state'; type ChangedFn = (node: Node, pos: number, parent: Node | null, index: number) => boolean | void; export declare const getStepRange: (transaction: Transaction | ReadonlyTransaction) => { from: number; to: number; } | null; export declare function hasDocAsParent($anchor: ResolvedPos): boolean; /** * Checks if a node looks like an empty document */ export declare function isEmptyDocument(node: Node): boolean; export declare function bracketTyped(state: EditorState): boolean; export declare function nodesBetweenChanged(tr: Transaction | ReadonlyTransaction, f: ChangedFn, startPos?: number): void; /** * Returns false if node contains only empty inline nodes and hardBreaks. */ export declare function hasVisibleContent(node: Node): boolean; export declare const isSelectionEndOfParagraph: (state: EditorState) => boolean; export declare function getChangedNodes(tr: ReadonlyTransaction | Transaction): { node: Node; pos: number; }[]; export declare const isReplaceDocOperation: (transactions: readonly Transaction[], oldState: EditorState) => boolean; /** * Compares two ProseMirror documents for equality, ignoring attributes * which don't affect the document structure. * * This is almost a copy of the .eq() PM function - tweaked to ignore attrs * * @param doc1 PMNode * @param doc2 PMNode * @param attributesToIgnore Specific array of attribute keys to ignore - defaults to ignoring all * @param opts.ignoreMarkOrder If mark order should be ignored to still be equal (e.g. reversed annotation marks). When not provided, controlled by platform_editor_are_nodes_equal_ignore_mark_order feature gate (defaults to true when gate is on). * @returns boolean */ export declare function areNodesEqualIgnoreAttrs(node1: Node, node2: Node, attributesToIgnore?: string[], opts?: { ignoreMarkOrder?: boolean; }): boolean; export {};