import { type Text, type Extension } from "@codemirror/state";
import { EditorView } from "@codemirror/view";
import { type LanguageDescription } from "@codemirror/language";
export interface EditorConfig {
    root?: Element | DocumentFragment;
    defaultValue?: string | Text;
    languages?: LanguageDescription[];
    themes?: Extension[];
    extensions?: Extension[];
    placeholder?: string;
}
export declare class MarkdownEditor {
    readonly EditorView: typeof EditorView;
    readonly root?: Element | DocumentFragment;
    readonly defaultValue?: string | Text;
    extensions: Extension[];
    view?: EditorView;
    languages: LanguageDescription[];
    themes: Extension[];
    placeholder: string;
    constructor(config: EditorConfig);
    create(): Promise<EditorView>;
    onUpdate(value: string): string;
    use(plugin: Extension | Extension[]): this;
    destroy(): void;
}
//# sourceMappingURL=index.d.ts.map