import type { Carta } from './internal/carta'; import type { TextAreaProps } from './internal/textarea-props'; import { type Labels } from './internal/labels'; interface Props { /** * The Carta instance to use. */ carta: Carta; /** * The theme to use, which translates to the CSS class `carta-theme__{theme}`. */ theme?: string; /** * The editor content. */ value?: string; /** * The mode to use. Can be 'tabs', 'split', or 'auto' * - 'tabs': The input and renderer are displayed in tabs. * - 'split': The input and renderer are displayed side by side. * - 'auto': The mode is automatically selected based on the window width. */ mode?: 'tabs' | 'split' | 'auto'; /** * The scroll synchronization mode. Can be 'sync' or 'async'. * - 'sync': The scroll is synchronized between the input and renderer. * - 'async': The scroll is not synchronized between the input and renderer. */ scroll?: 'sync' | 'async'; /** * Whether to disable the toolbar. */ disableToolbar?: boolean; /** * The placeholder text for the textarea. */ placeholder?: string; /** * Additional textarea properties. */ textarea?: TextAreaProps; /** * The selected tab. Can be 'write' or 'preview'. */ selectedTab?: 'write' | 'preview'; /** * The labels to use for the editor. */ userLabels?: Partial; /** * Highlight delay in milliseconds. * @default 250 */ highlightDelay?: number; } /** * This is the main editor component that combines the input and renderer * components. It also handles the scroll synchronization between the input and renderer * components (if set to sync), and the window mode management (tabs or split). */ declare const MarkdownEditor: import("svelte").Component; type MarkdownEditor = ReturnType; export default MarkdownEditor;