import { Extension } from '@tiptap/core';

/**
 * TypographyPersistence consolidates fontFamily and fontSize persistence logic
 * into a single extension with 2 plugins.
 *
 * Node-attr syncing (storedMarks → paragraph attrs) is handled directly by the
 * setFontFamily/unsetFontFamily/setFontSize/unsetFontSize commands rather than
 * via an appendTransaction plugin, because appendTransaction's setNodeMarkup
 * clears storedMarks and drops other textStyle attrs like color.
 *
 * Plugins:
 * 1. typographyInheritance — when a new paragraph is inserted next to a styled
 *    one, inherit fontFamily and fontSize in a single setNodeMarkup pass.
 *    Skips trailing-node paragraphs (they inherit from the previous sibling
 *    at creation time, but should not be overridden when the user clears them).
 * 2. typographyStoredMarks — when selection moves into an empty styled
 *    paragraph, restore storedMarks for both fontFamily and fontSize at once.
 */
export declare const TypographyPersistence: Extension<any, any>;
