import { default as React } from 'react';
/**
 * 1) Converts markdown to Slate format (async because we use Promise.all)
 */
export declare const markdownToSlate: (markdown: string) => Promise<any[]>;
/**
 * 2) Switch from Markdown to RichText mode (async because we call markdownToSlate)
 */
interface SlateNode {
    type: string;
    children: Array<{
        text: string;
        bold?: boolean;
        italic?: boolean;
    }>;
}
export declare const handleSwitchToRichText: (markdown: string, setSlateValue: (value: SlateNode[]) => void, setNewSlateValue: (value: SlateNode[]) => void, setMarkdownMode: (value: boolean) => void) => Promise<void>;
/**
 * 3) Apply bold markdown around selectedText (NO async since we do no awaiting)
 */
export declare const handleBoldClick: (selectedText: string, markdown: string, setMarkdown: (value: string) => void) => void;
/**
 * 4) Apply italic markdown around selectedText (NO async)
 */
export declare const handleItalicClick: (selectedText: string, markdown: string, setMarkdown: (value: string) => void) => void;
/**
 * 5) Replace the selected text with newValue in the original markdown (NO async)
 */
export declare const replaceSelectedText: (newValue: string, markdown: string, selectedText: string, setMarkdown: (value: string) => void) => void;
/**
 * 6) Handle markdown input changes (NO async)
 */
export declare const handleMarkdownChange: (event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>, setMarkdown: (value: string) => void) => void;
export {};
//# sourceMappingURL=useMarkdownEditor.d.ts.map