import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, Renderer2 } from '@angular/core';
import { TreeDraggedElement } from '../models/tree-dragged-element.model';
import * as i0 from "@angular/core";
export declare class TreeDropDirective implements AfterViewInit, OnDestroy {
    private el;
    private renderer;
    private treeDraggedElement;
    private ngZone;
    allowDragoverStyling: boolean;
    onDropCallback: EventEmitter<any>;
    onDragOverCallback: EventEmitter<any>;
    onDragLeaveCallback: EventEmitter<any>;
    onDragEnterCallback: EventEmitter<any>;
    private readonly dragOverEventHandler;
    private readonly dragEnterEventHandler;
    private readonly dragLeaveEventHandler;
    private _allowDrop;
    set treeAllowDrop(allowDrop: any);
    allowDrop($event: any): boolean;
    constructor(el: ElementRef, renderer: Renderer2, treeDraggedElement: TreeDraggedElement, ngZone: NgZone);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onDragOver($event: any): void;
    onDragEnter($event: any): void;
    onDragLeave($event: any): void;
    onDrop($event: any): void;
    private addClass;
    private removeClass;
    private addDisabledClass;
    private removeDisabledClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeDropDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TreeDropDirective, "[treeDrop]", never, { "allowDragoverStyling": { "alias": "allowDragoverStyling"; "required": false; }; "treeAllowDrop": { "alias": "treeAllowDrop"; "required": false; }; }, { "onDropCallback": "treeDrop"; "onDragOverCallback": "treeDropDragOver"; "onDragLeaveCallback": "treeDropDragLeave"; "onDragEnterCallback": "treeDropDragEnter"; }, never, never, false, never>;
}
