import { BlockNoteEditor } from "@blocknote/core";
import { StreamTool } from "../../../streamTool/streamTool.js";
import { StreamToolsProvider } from "../../index.js";
import { StreamToolsConfig } from "../index.js";
export declare const markdownBlockLLMFormat: {
    /**
     * Function to get the stream tools that can apply Markdown block updates to the editor
     */
    getStreamToolsProvider: <T extends StreamToolsConfig = {
        add: true;
        update: true;
        delete: true;
    }>(opts?: {
        withDelays?: boolean;
        defaultStreamTools?: T;
    }) => StreamToolsProvider<string, T>;
    systemPrompt: string;
    tools: {
        add: (editor: BlockNoteEditor<any, any, any>, options: {
            idsSuffixed: boolean;
            withDelays: boolean;
            onBlockUpdate?: ((blockId: string) => void) | undefined;
        }) => StreamTool<import("../base-tools/createAddBlocksTool.js").AddBlocksToolCall<string>>;
        update: (editor: BlockNoteEditor<any, any, any>, options: {
            idsSuffixed: boolean;
            withDelays: boolean;
            updateSelection?: {
                from: number;
                to: number;
            } | undefined;
            onBlockUpdate?: ((blockId: string) => void) | undefined;
        }) => StreamTool<import("../base-tools/createUpdateBlockTool.js").UpdateBlockToolCall<string>>;
        delete: (editor: BlockNoteEditor<any, any, any>, options: {
            idsSuffixed: boolean;
            withDelays: boolean;
            onBlockUpdate?: (blockId: string) => void;
        }) => StreamTool<import("../base-tools/delete.js").DeleteBlockToolCall>;
    };
    defaultDocumentStateBuilder: import("../DocumentStateBuilder.js").DocumentStateBuilder<string>;
};
