import { Plugin, ProseMirror, Schema } from '../../prosemirror'; import { ImageNodeType } from '../../schema'; export interface ImageUploadPluginOptions { defaultHandlersEnabled?: boolean; supportedImageTypes?: Array; maxFileSizeInBytes: number; } export declare type ImageUploadHandler = (e: any, insertImageFn: any) => void; export declare class ImageUploadState { private changeHandlers; private pm; private pasteAdapter; private dropAdapter; private config; active: boolean; enabled: boolean; hidden: boolean; uploadHandler?: ImageUploadHandler; src?: string; element?: HTMLElement; constructor(pm: PM, options: ImageUploadPluginOptions); handleImageUpload: (_?: any, e?: any) => boolean; subscribe: (cb: StateChangeHandler) => void; /** * Insert an image at the current selection. */ addImage: (options: { src?: string | undefined; }) => void; /** * Remove the selected image. */ removeImage(): void; /** * Update the selected image. */ updateImage(options: { src?: string; }): void; private isImageSelected(); private update(); private getActiveImageElement(); private canInsertImage(); } declare var _default: Plugin; export default _default; export interface S extends Schema { nodes: { image?: ImageNodeType; }; } export interface PM extends ProseMirror { schema: S; } export declare type StateChangeHandler = (state: ImageUploadState) => any;