import { Node } from '@tiptap/core';
import { IpfsImageUploadResponse } from '../../types';
import { DBlockRuntimeState } from './dblock-runtime';

export interface DBlockOptions {
    HTMLAttributes: Record<string, any>;
    ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>;
    onCopyHeadingLink?: (link: string) => void;
    hasAvailableModels: boolean;
    getRuntimeState?: () => DBlockRuntimeState;
}
declare module '@tiptap/core' {
    interface Commands<ReturnType> {
        dBlock: {
            setDBlock: (position?: number) => ReturnType;
        };
    }
}
export declare const DBlock: Node<DBlockOptions, any>;
export declare const createDBlockExtension: (options?: Partial<DBlockOptions>) => Node<DBlockOptions, any>;
