import { ElementRef, EventEmitter, OnInit, AfterViewInit, OnDestroy, Renderer2 } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Directive 'fusionFileDragAndDrop' for file selection by file select dialog
 * or by files drag and drop to the host area
 */
export declare class FileDragAndDropDirective implements OnInit, AfterViewInit, OnDestroy {
    private _element;
    private _renderer;
    /**
     * element ID for initial file selection dialog by click.
     * if not provided used click on host
     */
    buttonId: string;
    /**
     * for disabling file selection
     */
    set disabled(value: boolean);
    /**
     * for loading file selection
     */
    set loading(value: boolean);
    /**
     * input.file accept attribute (file select dialog only, not grad&&drop)
     */
    accept: string;
    /**
     * input.file multiple attribute (file select dialog only, not grad&&drop)
     */
    multiple: boolean;
    /**
     * output event emitter (files: FileList)
     */
    handleFiles: EventEmitter<any>;
    onDestroy$: Subject<void>;
    inputElement: any;
    private _disabled;
    private _loading;
    constructor(_element: ElementRef, _renderer: Renderer2);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onDragEnter(event: any): void;
    onDragLeave(event: any): void;
    onDragOver(event: any): void;
    onDrop(event: any): void;
    onClick(event: any): void;
    private suppressDefaultEvent;
    private isDraggable;
    private toggleCssClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileDragAndDropDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FileDragAndDropDirective, "[fusionFileDragAndDrop]", never, { "buttonId": { "alias": "buttonId"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, { "handleFiles": "handleFiles"; }, never, never, false, never>;
}
