export type MigrationSource = "tinymce" | "ckeditor" | "ckeditor5" | "froala" | "quill" | "tiptap" | "lexical"; export interface MigrationConfigResult { source: string; config: Record; mappedCommands: string[]; unmapped: string[]; warnings: string[]; } export interface UnsupportedContentItem { kind: "embed" | "node" | "mark"; name: string; count: number; paths: string[]; } export interface AppliedConverterItem { kind: "embed" | "node" | "mark"; name: string; count: number; paths: string[]; } export type MigrationConverterResult = string | { html: string; warnings?: string[] } | null | undefined; export type MigrationConverter = (value: unknown, context: { source: MigrationSource; kind: "embed" | "node" | "mark"; name: string; path?: string; html?: string; childrenHtml?: string; node?: unknown; operation?: unknown; attributes?: Record }) => MigrationConverterResult; export interface MigrationConverters { quill?: { embeds?: Record }; tiptap?: { nodes?: Record; marks?: Record }; lexical?: { nodes?: Record }; } export interface MigrationOptions { converters?: MigrationConverters; } export interface MigrationContentResult { source: string; html: string; warnings: string[]; unsupportedContent: UnsupportedContentItem[]; appliedConverters: AppliedConverterItem[]; } export interface MigrationReport { source: string; readyForCutover: boolean; config: Record; html: string; mappedCommands: string[]; unmapped: string[]; unsupportedContent: UnsupportedContentItem[]; appliedConverters: AppliedConverterItem[]; blockers: string[]; warnings: string[]; manualReview: string[]; } export declare const SOURCES: string[]; export declare const COMMANDS: Record; export declare function mapToolbar(value: unknown): { commands: string[]; unmapped: string[] }; export declare function migrateConfig(source: MigrationSource, config: Record): MigrationConfigResult; export declare function convertContent(source: MigrationSource, value: unknown, options?: MigrationOptions): MigrationContentResult; export declare function createMigrationReport(source: MigrationSource, options?: { config?: Record; content?: unknown; converters?: MigrationConverters }): MigrationReport; export declare function readLegacyContent(source: MigrationSource, editor: unknown): unknown; export declare function migrateEditor(source: MigrationSource, legacyEditor: unknown, richTextEditor: { setHTMLCode(html: string): void }, options?: MigrationOptions): MigrationContentResult;