/** * FlowDrop Form Markdown Editor Module * * Adds CodeMirror 6-based markdown editor support to SchemaForm. * Uses @codemirror/lang-markdown for syntax highlighting and marked for preview. * * @module form/markdown * * @example * ```typescript * import { SchemaForm } from "@flowdrop/flowdrop/form"; * import { registerMarkdownEditorField } from "@flowdrop/flowdrop/form/markdown"; * * // Register markdown editor support (call once at app startup) * registerMarkdownEditorField(); * * // Now SchemaForm will render markdown editors for format: "markdown" * const schema = { * type: "object", * properties: { * content: { type: "string", format: "markdown", title: "Content" } * } * }; * ``` */ import type { FieldComponent } from './fieldRegistry.js'; import type { FieldSchema } from '../components/form/types.js'; export { default as FormMarkdownEditor } from '../components/form/FormMarkdownEditor.svelte'; export type { MarkdownEditorFieldProps } from '../components/form/types.js'; /** * Matcher for markdown editor fields * Matches: format "markdown" */ export declare function markdownEditorFieldMatcher(schema: FieldSchema): boolean; /** * Register the markdown editor field component * * Call this function once at application startup to enable * markdown editor fields in SchemaForm. * * @param priority - Priority for field matching (default: 100) * * @example * ```typescript * // In your app's entry point: * import { registerMarkdownEditorField } from "@flowdrop/flowdrop/form/markdown"; * * registerMarkdownEditorField(); * ``` */ export declare function registerMarkdownEditorField(priority?: number): void; /** * Synchronously register markdown editor field using the imported component * * Use this when you've already imported the component and want immediate registration. * * @param priority - Priority for field matching (default: 100) * * @example * ```typescript * import { registerMarkdownEditorFieldWithComponent, FormMarkdownEditor } from "@flowdrop/flowdrop/form/markdown"; * registerMarkdownEditorFieldWithComponent(FormMarkdownEditor); * ``` */ export declare function registerMarkdownEditorFieldWithComponent(component: FieldComponent, priority?: number): void; /** * Check if markdown editor field is registered */ export declare function isMarkdownEditorRegistered(): boolean;