import { FileUploadState } from "../types";
export declare class DragHandler {
    private currentState;
    private isDisabledCallback?;
    private stateChangeCallback?;
    private fileDropCallback?;
    private errorMessageCallback?;
    constructor();
    setErrorMessage(callback: (errorMessage: string) => void): void;
    setIsDisabled(callback: () => boolean): void;
    setValuesInDragHandler(state: FileUploadState): void;
    onFileDrop(callback: (files: File[]) => void): void;
    onStateChange(callback: (state: FileUploadState) => void): void;
    private setState;
    dragEnter(e: DragEvent): void;
    dragLeave(e: DragEvent): void;
    dragOver(e: DragEvent): void;
    drop(e: DragEvent): void;
    handleDocumentDrop(e: DragEvent): void;
    preventDragOver(e: DragEvent): void;
    preventDrop(e: DragEvent): void;
    handleFiles(e: Event | DragEvent): void;
}
