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;
}
