import { Crepe } from '@milkdown/crepe'; import { EditorView } from '@milkdown/kit/prose/view'; import { Schema } from '@milkdown/kit/prose/model'; import { MediaUploadHandler } from '../types'; import { ClipboardMarkdownParser } from './tableCellImage'; /** Re-export for tests and callers that imported `defaultUpload` from this module */ export declare const defaultUpload: MediaUploadHandler; export declare const isImageFileMIME: (file: File) => boolean; export declare const isVideoFileMIME: (file: File) => boolean; export declare const isMediaFile: (file: File) => boolean; export interface UploadPluginOptions { onUploadImage?: MediaUploadHandler; onUploadVideo?: MediaUploadHandler; onUploadFile?: MediaUploadHandler; } export declare const isUploadableEditorFile: (file: File) => boolean; /** * Creates event handlers for file upload. Exported for testing. * * `getParser` must be called at paste time (not factory time): `$prose` only waits for * `SchemaReady`, so `parserCtx` may still be the out-of-scope stub when the plugin is built. */ export declare function createUploadHandlers(options: UploadPluginOptions, schema: Schema, abortSignal: AbortSignal, getParser?: () => ClipboardMarkdownParser): { drop: (view: EditorView, event: Event) => boolean; dragover: (_view: EditorView, event: Event) => boolean; paste: (view: EditorView, event: Event) => boolean; }; export declare function configureUpload(crepe: Crepe, options?: UploadPluginOptions): void;