///
import { Plugin } from './plugin.js';
import Editor from './editor.js';
export interface IFileDropOverlayProvider {
[K: string]: any;
animateDragEnter(): void;
animateDragLeave(): void;
animateDrop(): void;
getDomNode(): HTMLElement;
}
export interface IDroppedFile {
file: File;
content: string | ArrayBuffer;
}
export declare class FileUpload extends Plugin {
private targetEl;
private overlayProvider;
private overlay?;
private editor?;
private _onDidUpload;
private currentTarget;
readonly onDidUpload: import("@kano/common/index.js").IEvent;
constructor(targetEl: HTMLElement, overlayProvider: IFileDropOverlayProvider);
onInstall(editor: Editor): void;
onInject(): void;
addOverlay(): void;
stop(): void;
_bindEvents(): void;
_unbindEvents(): void;
static _onDragover(e: any): void;
_onDrop(e: DragEvent): void;
_onFileDropped(file: IDroppedFile): void;
static _readFile(f: Blob): Promise;
_onDragenter(e: DragEvent): void;
_onDragleave(e: DragEvent): void;
_animateDragEnter(): void;
_animateDragLeave(): void;
_animateDrop(): void;
onDispose(): void;
}
export default FileUpload;