import type { Node } from 'prosemirror-model'; import type { EditorView } from 'prosemirror-view'; import type { Logger2 } from "../../../logger.js"; import { type FileUploadHandler, type UploadSuccessItem } from "../../../utils/upload.js"; import type { WidgetDescriptor } from "../WidgetDecoration/index.js"; export declare abstract class FilesBatchUploadProcess { protected readonly view: EditorView; protected readonly files: readonly File[]; protected readonly uploadHandler: FileUploadHandler; protected readonly logger: Logger2.ILogger; protected skeletonDescriptor?: WidgetDescriptor; constructor(view: EditorView, files: readonly File[], uploadHandler: FileUploadHandler); run(): Promise; protected insertSkeleton(): Promise; protected abstract createSkeleton(): WidgetDescriptor | Promise; protected batchUpload(): Promise; protected abstract createPMNode(res: UploadSuccessItem): Promise; protected removeSkeleton(): void; }