import { OnInit, ElementRef, OnDestroy, EventEmitter, NgZone, Renderer2 } from '@angular/core'; import { Subscription } from 'rxjs'; import { DraggableHelper } from './draggable-helper.provider'; import { DraggableScrollContainerDirective } from './draggable-scroll-container.directive'; import * as i0 from "@angular/core"; export interface DropEvent { dropData: T; /** * ClientX value of the mouse location where the drop occurred */ clientX: number; /** * ClientY value of the mouse location where the drop occurred */ clientY: number; /** * The target of the event where the drop occurred */ target: EventTarget; } export interface DragEvent extends DropEvent { } export interface ValidateDropParams extends DropEvent { } export declare type ValidateDrop = (params: ValidateDropParams) => boolean; export declare class DroppableDirective implements OnInit, OnDestroy { private element; private draggableHelper; private zone; private renderer; private scrollContainer; /** * Added to the element when an element is dragged over it */ dragOverClass: string; /** * Added to the element any time a draggable element is being dragged */ dragActiveClass: string; /** * Allow custom behaviour to control when the element is dropped */ validateDrop: ValidateDrop; /** * Called when a draggable element starts overlapping the element */ dragEnter: EventEmitter>; /** * Called when a draggable element stops overlapping the element */ dragLeave: EventEmitter>; /** * Called when a draggable element is moved over the element */ dragOver: EventEmitter>; /** * Called when a draggable element is dropped on this element */ drop: EventEmitter>; currentDragSubscription: Subscription; constructor(element: ElementRef, draggableHelper: DraggableHelper, zone: NgZone, renderer: Renderer2, scrollContainer: DraggableScrollContainerDirective); ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }