import { EditorView } from '@codemirror/view';

/**
 * Markdown text operations for the Split View CodeMirror pane — the toolbar
 * routes formatting actions here when Split View is active.
 */
/** Wrap each selected range with `before`/`after`; toggles off if already wrapped. */
export declare const wrapSelection: (view: EditorView, before: string, after?: string) => void;
/** Toggle a line prefix (e.g. "- ", "1. ", "> ", "- [ ] ") on each selected line. */
export declare const toggleLinePrefix: (view: EditorView, prefix: string) => void;
/** Toggle / set an ATX heading of `level` on each selected line. */
export declare const setHeading: (view: EditorView, level: number) => void;
/** Insert a block (code fence, hr, table) on its own paragraph at the cursor. */
export declare const insertBlock: (view: EditorView, block: string) => void;
/**
 * Insert a markdown link inline: the selection becomes the link
 * text and the cursor lands on the URL placeholder so the user just types it.
 */
export declare const insertLink: (view: EditorView, url?: string) => void;
/**
 * Insert an uploaded secure image as inline HTML. Mirrors the attributes the
 * markdown paste flow sets (media-type="secure-img" + IPFS/encryption attrs),
 * so it parses back into a real secure-image node and round-trips.
 */
export declare const insertSecureImage: (view: EditorView, attrs: {
    src: string;
    ipfsUrl: string;
    encryptionKey: string;
    nonce: string;
    ipfsHash: string;
    authTag: string;
    mimeType: string;
}) => void;
/**
 * Insert a base64-embedded image (media-type="img"). Mirrors the editor's
 * no-uploader fallback in startImageUpload, so it renders + round-trips.
 */
export declare const insertEmbeddedImage: (view: EditorView, dataUrl: string) => void;
export declare const mdCommands: {
    bold: (v: EditorView) => void;
    italic: (v: EditorView) => void;
    strike: (v: EditorView) => void;
    inlineCode: (v: EditorView) => void;
    underline: (v: EditorView) => void;
    heading: (v: EditorView, level: number) => void;
    bulletList: (v: EditorView) => void;
    orderedList: (v: EditorView) => void;
    taskList: (v: EditorView) => void;
    blockquote: (v: EditorView) => void;
    codeBlock: (v: EditorView) => void;
    horizontalRule: (v: EditorView) => void;
    table: (v: EditorView) => void;
    link: (v: EditorView, url?: string) => void;
    undo: (v: EditorView) => void;
    redo: (v: EditorView) => void;
    highlight: (v: EditorView, color?: string) => void;
};
