import { NodeType } from '@tiptap/pm/model';
import { InputRule } from '@tiptap/core';
import { IpfsImageFetchPayload, IpfsImageUploadResponse } from '../types';
import { ToCItemType } from '../components/toc/types';

export declare const defaultExtensions: ({ ipfsImageFetchFn, onError, metadataProxyUrl, onCopyHeadingLink, ipfsImageUploadFn, fetchV1ImageFn, onTocUpdate, }: {
    ipfsImageFetchFn?: (_data: IpfsImageFetchPayload) => Promise<{
        url: string;
        file: File;
    }>;
    onError: (error: string) => void;
    ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>;
    metadataProxyUrl?: string;
    onCopyHeadingLink?: (link: string) => void;
    fetchV1ImageFn?: (url: string) => Promise<ArrayBuffer | undefined>;
    onTocUpdate?: (data: ToCItemType[], isCreate?: boolean) => void;
}) => (import('@tiptap/core').Extension<any, any> | import('@tiptap/core').Node<any, any> | import('@tiptap/core').Mark<any, any>)[];
export declare const createInputRule: (pattern: RegExp, data: string, type: NodeType) => InputRule;
