import type { Node_Type } from '@wix/ricos/schema';
import { Plugin } from '../../tiptap/pm/state';
import { DecorationSet } from '../../tiptap/pm/view';
/**
 * Wraps the children of every `targetNodeTypes` textblock in a `<span>`.
 * Used for block types that expose a `backgroundColor` via the Theme API —
 * the color must be applied as an inline-text background, so each inline
 * child needs to live inside its own span.
 *
 * One multi-type plugin instead of one-per-type keeps a single
 * `DecorationSet` for the whole wrap-in-span concern, which PM's view
 * descends once per block on each render.
 *
 * On inline-text-only transactions, only the touched textblock's span
 * decorations are rebuilt — a plain `prev.map(tr.mapping, tr.doc)` can't be
 * used because `DecorationSet.map`'s `assoc = +1/-1` semantics would place
 * newly-inserted characters outside the span.
 */
export declare const createSpanWrapperDecorationPlugin: (targetNodeTypes: Node_Type[]) => Plugin<DecorationSet>;
//# sourceMappingURL=span-wrapper.d.ts.map