import type { Extension } from '@prezly/slate-commons'; import type { SlateEditor } from '@udecode/plate-common'; import type { Element } from 'slate'; export interface ElementsEqualityCheckEditor { /** * Compare two elements. * * This is useful to implement smarter comparison rules to, * for example, ignore data-independent properties like `uuid`. * * `children` arrays can be omitted from the comparison, * as the outer code will compare them anyway. */ isElementEqual(node: Element, another: Element): boolean | undefined; } export declare function withElementsEqualityCheck(getExtensions: () => Extension[]): (editor: T) => T & ElementsEqualityCheckEditor;