import { EventEmitter } from '@angular/core';
import { FileUploadOutput, FileUploaderService } from '../file-uploader.service';
import * as i0 from "@angular/core";
/**
 * Directive that handles the drag and drop feature of the file input.
 */
export declare class FileUploaderDragndropDirective {
    private _fileUploadService;
    /** Whether multiple files can be dropped at once. */
    multiple: boolean;
    /** Accepted file extensions. Format: `'.png,.jpg'`. */
    accept: string;
    /** Max file size in bytes that the input will accept. */
    maxFileSize: string;
    /** Min file size in bytes that the input will accept. */
    minFileSize: string;
    /** Whether selecting of new files is disabled. */
    disabled: boolean;
    /** Whether drag and drop is enabled. Disables this directive. */
    dragndrop: boolean;
    /** Event emitted when files are dropped. Passes back an array of files. */
    readonly fileChanged: EventEmitter<FileUploadOutput>;
    /** Event emitted when the dragged file enters the dropzone. */
    readonly dragEntered: EventEmitter<void>;
    /** Event emitted when the dragged file exits the dropzone. */
    readonly dragLeave: EventEmitter<void>;
    /** @hidden */
    private elementStateCounter;
    /** @hidden */
    constructor(_fileUploadService: FileUploaderService);
    /** @hidden */
    onDragover(event: Event): void;
    /** @hidden */
    onDragenter(): void;
    /** @hidden */
    onDragleave(event: Event): void;
    /** @hidden */
    onDrop(event: any): void;
    /** @hidden */
    private _muteEvent;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileUploaderDragndropDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FileUploaderDragndropDirective, "[fdFileDragnDrop], [fd-file-drag-n-drop]", never, { "multiple": { "alias": "multiple"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "minFileSize": { "alias": "minFileSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dragndrop": { "alias": "dragndrop"; "required": false; }; }, { "fileChanged": "fileChanged"; "dragEntered": "dragEntered"; "dragLeave": "dragLeave"; }, never, never, true, never>;
}
