import type { NodeSpec } from 'prosemirror-model'; export type TokenAttrs = { [name: string]: unknown; }; export interface NodeSpecProcessor { allowedAttrs?: string[]; } export interface SchemaDynamicModifierConfig { [elementType: string]: NodeSpecProcessor; } /** * Class SchemaDynamicModifier * * Provides a mechanism for dynamic modification of schema node attributes: * * - `allowedAttrs`: A list of additional attributes to include in the ProseMirror schema with default values. * When specified, these attributes are added to the schema and preserved during processing. * * Example: * ```ts * const dynamicModifier = new SchemaDynamicModifier({ * paragraph: { * allowedAttrs: ['data-paragraph'], * }, * }); * ``` */ export declare class SchemaDynamicModifier { private nodeSpecsProcessors; constructor(config: SchemaDynamicModifierConfig); processNodeSpec(name: string, nodeSpec: NodeSpec): NodeSpec; }