import { Extension } from '@tiptap/core';
import { Node as PMNode } from 'prosemirror-model';
import { default as TurndownService } from 'turndown';
import { IpfsImageFetchPayload, IpfsImageUploadResponse } from '../../types';

export declare const turndownService: TurndownService;
declare module '@tiptap/core' {
    interface Commands {
        uploadMarkdownFile: {
            uploadMarkdownFile: (ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>, onError?: (error: string) => void) => any;
        };
        exportMarkdownFile: {
            exportMarkdownFile: (props?: {
                title?: string;
                returnMDFile?: boolean;
            }) => any;
        };
    }
}
declare const MarkdownPasteHandler: (ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>, ipfsImageFetchFn?: (_data: IpfsImageFetchPayload) => Promise<{
    url: string;
    file: File;
}>, fetchV1ImageFn?: (url: string) => Promise<ArrayBuffer | undefined>) => Extension<any, any>;
export declare const stripFrontmatter: (markdown: string) => string;
export declare function handleMarkdownContent(view: any, content: string, ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>): Promise<void>;
export default MarkdownPasteHandler;
export declare function searchForSecureImageNodeAndEmbedImageContent(originalDoc: PMNode, ipfsImageFetchFn?: (_data: IpfsImageFetchPayload) => Promise<{
    url: string;
    file: File;
}>, fetchV1ImageFn?: (url: string) => Promise<ArrayBuffer | undefined>, shouldCompress?: boolean): Promise<PMNode>;
