import { CustomLeaf, Elements } from '../../../el';
import type { ParserMarkdownToSlateNodeConfig } from '../parserMarkdownToSlateNode';
type ParseNodesFn = (nodes: any[], top: boolean, parent: any) => (Elements | any)[];
/**
 * 处理标题节点
 */
export declare const handleHeading: (currentElement: any, parseNodes: ParseNodesFn) => {
    type: string;
    level: any;
    children: any[];
};
/**
 * 处理列表节点
 */
export declare const handleList: (currentElement: any, parseNodes: ParseNodesFn) => any;
/**
 * 处理脚注定义节点
 */
export declare const handleFootnoteDefinition: (currentElement: any, parseNodes: ParseNodesFn) => {
    value: any;
    url: any;
    type: string;
    identifier: any;
    children: any[];
};
/**
 * 处理列表项节点
 */
export declare const handleListItem: (currentElement: any, parseNodes: ParseNodesFn) => {
    type: string;
    checked: any;
    children: any;
    mentions: {
        avatar: any;
        name: any;
        id: string | undefined;
    }[] | undefined;
};
/**
 * 处理段落子节点
 */
export declare const processParagraphChildren: (currentElement: any, parseNodes: ParseNodesFn) => ({
    text: string;
} | {
    type: string;
    children: any[];
})[];
/**
 * 处理段落节点
 */
export declare const handleParagraph: (currentElement: any, config: any, parseNodes: ParseNodesFn) => any;
/**
 * 处理引用块节点
 */
export declare const handleBlockquote: (currentElement: any, parseNodes: ParseNodesFn) => {
    type: string;
    children: any[];
};
/**
 * 处理 remark-directive 的 containerDirective（:::info / :::tip{title="提示"} 等）
 * 转为 blockquote 并写入 otherProps，供只读渲染为 div.markdown-container。
 * 过滤掉被误解析为内容的闭合标记段落（仅含 ::: 的段落）。
 */
export declare const handleContainerDirective: (currentElement: any, parseNodes: ParseNodesFn) => {
    type: string;
    otherProps: Record<string, unknown>;
    children: any[];
};
/**
 * 应用内联格式到叶子节点
 */
export declare const applyInlineFormatting: (leaf: CustomLeaf, currentElement: any, config?: ParserMarkdownToSlateNodeConfig) => CustomLeaf;
/**
 * 处理文本和内联元素节点
 */
export declare const handleTextAndInlineElements: (currentElement: any, htmlTag: any[], parseNodes: ParseNodesFn, config?: ParserMarkdownToSlateNodeConfig) => any;
export {};
