import { BlockNoteEditor } from "@blocknote/core";
import { StreamTool } from "../../../streamTool/streamTool.js";
import { StreamToolsProvider } from "../../index.js";
import { StreamToolsConfig } from "../index.js";
export declare const jsonBlockLLMFormat: {
    /**
     * Function to get the stream tools that can apply JSON block updates to the editor
     */
    getStreamToolsProvider: <T extends StreamToolsConfig = {
        add: true;
        update: true;
        delete: true;
    }>(opts?: {
        withDelays?: boolean;
        defaultStreamTools?: T;
    }) => StreamToolsProvider<string, T>;
    tools: {
        add: (editor: BlockNoteEditor<any, any, any>, options: {
            idsSuffixed: boolean;
            withDelays: boolean;
            onBlockUpdate?: ((blockId: string) => void) | undefined;
        }) => StreamTool<import("../base-tools/createAddBlocksTool.js").AddBlocksToolCall<import("@blocknote/core").PartialBlock<any, any, any>>>;
        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<import("@blocknote/core").PartialBlock<any, any, any>>>;
        delete: (editor: BlockNoteEditor<any, any, any>, options: {
            idsSuffixed: boolean;
            withDelays: boolean;
            onBlockUpdate?: (blockId: string) => void;
        }) => StreamTool<import("../base-tools/delete.js").DeleteBlockToolCall>;
    };
    systemPrompt: string;
    defaultDocumentStateBuilder: import("../DocumentStateBuilder.js").DocumentStateBuilder<{
        id: undefined;
        children: undefined;
        type: any;
        props: import("@blocknote/core").Props<any>;
        content: (import("@blocknote/core").StyledText<any> | import("@blocknote/core").Link<any> | import("@blocknote/core").CustomInlineContentFromConfig<any, any>)[] | import("@blocknote/core").TableContent<any, any> | undefined;
    }>;
};
