export const BlockNodePluginKey: PluginKey<any>;
/**
 * @typedef {import('prosemirror-model').Node} ProseMirrorNode
 * @typedef {import('prosemirror-state').Transaction} Transaction
 */
/**
 * Block node information object
 * @typedef {Object} BlockNodeInfo
 * @property {ProseMirrorNode} node - The block node
 * @property {number} pos - Position in the document
 */
/**
 * Configuration options for BlockNode
 * @typedef {Object} BlockNodeOptions
 * @category Options
 */
/**
 * Attributes for block nodes
 * @typedef {Object} BlockNodeAttributes
 * @category Attributes
 * @property {string} [sdBlockId] @internal Unique identifier for the block
 */
/**
 * @module BlockNode
 * @sidebarTitle Block Node
 * @snippetPath /snippets/extensions/block-node.mdx
 */
export const BlockNode: Extension;
export function nodeAllowsSdBlockIdAttr(node: ProseMirrorNode): boolean;
export function nodeNeedsSdBlockId(node: ProseMirrorNode): boolean;
export function checkForNewBlockNodesInTrs(transactions: Transaction[]): boolean;
export type ProseMirrorNode = import("prosemirror-model").Node;
export type Transaction = import("prosemirror-state").Transaction;
/**
 * Block node information object
 */
export type BlockNodeInfo = {
    /**
     * - The block node
     */
    node: ProseMirrorNode;
    /**
     * - Position in the document
     */
    pos: number;
};
/**
 * Configuration options for BlockNode
 */
export type BlockNodeOptions = any;
/**
 * Attributes for block nodes
 */
export type BlockNodeAttributes = any;
import { PluginKey } from 'prosemirror-state';
import { Extension } from '@core/Extension.js';
//# sourceMappingURL=block-node.d.ts.map