import React from "react";
export interface MarkdownEditorProps {
    /** Markdown string content */
    value: string;
    /** Callback with updated markdown string */
    onChange: (markdown: string) => void;
    /** Placeholder text shown when editor is empty */
    placeholder?: string;
    /** Whether the editor is disabled */
    disabled?: boolean;
    /** Initial editor height in pixels (default: 600). User can resize via drag handle. */
    height?: number;
    /** Minimum editor height in pixels (default: 100) */
    minHeight?: number;
    /** Additional className for the wrapper */
    className?: string;
    /**
     * File upload handler. Return the public URL of the uploaded file.
     * If not provided, the upload button is hidden.
     */
    onUploadFile?: (file: File) => Promise<string>;
    /** Called after a file is successfully uploaded and inserted */
    onFileUploaded?: (url: string, filename: string) => void;
    /** Custom preview renderer. Receives the markdown source string. */
    renderPreview?: (source: string) => React.ReactNode;
}
export declare function MarkdownEditor({ value, onChange, placeholder, disabled, height, minHeight, className, onUploadFile, onFileUploaded, renderPreview, }: MarkdownEditorProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=markdown-editor.d.ts.map