import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
export declare const INPUT_FOCUS_CSS_CLASS = "adf-file-draggable-input-focus";
export declare const DROP_EFFECT = "copy";
export declare class FileDraggableDirective implements OnInit, OnDestroy {
    private ngZone;
    files: File[];
    /** Enables/disables drag-and-drop functionality. */
    enabled: boolean;
    /** Emitted when one or more files are dragged and dropped onto the draggable element. */
    filesDropped: EventEmitter<File[]>;
    /** Emitted when a directory is dragged and dropped onto the draggable element. */
    folderEntityDropped: EventEmitter<any>;
    private element;
    constructor(el: ElementRef, ngZone: NgZone);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Method called when files is dropped in the drag and drop area.
     *
     * @param event DOM event.
     */
    onDropFiles(event: any): void;
    /**
     * Change the style of the drag area when a file drag in.
     *
     * @param event - DOM event.
     */
    onDragEnter(event: DragEvent): void;
    /**
     * Change the style of the drag area when a file drag out.
     *
     * @param event - DOM event.
     */
    onDragLeave(event: Event): void;
    /**
     * Change the style of the drag area when a file is over the drag area.
     *
     * @param event drag event
     */
    onDragOver(event: DragEvent): void;
    /**
     * Prevent default and stop propagation of the DOM event.
     *
     * @param event DOM event
     */
    preventDefault(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileDraggableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FileDraggableDirective, "[adf-file-draggable]", never, { "enabled": { "alias": "adf-file-draggable"; "required": false; }; }, { "filesDropped": "filesDropped"; "folderEntityDropped": "folderEntityDropped"; }, never, never, true, never>;
}
