/** * Markdown ↔ TipTap JSON Converter * 明確な優先順位と処理順序を持つMarkdownパーサー * * 処理順序: * 1. コードブロック抽出(最優先、内部は一切処理しない) * 2. テーブル抽出(セル内はインライン要素のみ処理) * 3. ブロック要素パース(見出し、リスト、引用など) * 4. インライン要素パース(bold, italic, code, linkなど) */ import type { JSONContent } from '@tiptap/core'; import type { Editor } from '@tiptap/react'; import { type MarkdownToTipTapOptions } from './markdown/InlineParser'; /** * メイン変換クラス */ export declare class MarkdownTipTapConverter { private constructor(); /** * MarkdownがMarkdown構文を含むかチェック */ static isMarkdownText(text: string): boolean; /** * MarkdownをTipTap JSON形式に変換 */ static markdownToTipTapJson(markdown: string, options?: MarkdownToTipTapOptions): Promise; private static buildTableNode; /** * TipTap JSONをMarkdownに変換(逆変換) */ static tipTapJsonToMarkdown(json: JSONContent): string; private static nodeToMarkdown; private static contentToText; private static tableToMarkdown; /** * チャンク処理(エディター用) */ static processMarkdownInSmallChunksWithRender(markdown: string, editor: Editor, onChunkProcessed?: (processed: number, total: number) => void, options?: MarkdownToTipTapOptions): Promise; } //# sourceMappingURL=MarkdownTipTapConverter.d.ts.map