import { default as React } from 'react';
import { editor } from 'monaco-editor';
type IMouseTarget = editor.IMouseTarget;
type IStandaloneCodeEditor = editor.IStandaloneCodeEditor;
type IContentWidget = editor.IContentWidget;
export type TDropHandler = (e: React.DragEvent, target: IMouseTarget, instance: IStandaloneCodeEditor) => void;
export type TInstanceGetter = () => IStandaloneCodeEditor | null;
export declare class MonacoDragNDropProvider {
    getInstance: TInstanceGetter;
    dropClassName: string;
    onDropHandler: TDropHandler;
    constructor(onDrop: TDropHandler, getInstance: TInstanceGetter, dropClassName?: string);
    onDrop: (e: React.DragEvent<HTMLDivElement>) => void;
    onDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
    removeMouseDownWidget: () => void;
    props: React.HTMLAttributes<HTMLDivElement>;
    domNode: HTMLDivElement | null;
    mouseDropWidget: IContentWidget | null;
    dragTarget: IMouseTarget | null;
    buildMouseDropWidget: () => IContentWidget;
    displayMouseDropPosition: (instance: IStandaloneCodeEditor, target: IMouseTarget) => void;
}
export {};
