import { OnDestroy, AfterViewInit, ElementRef, EventEmitter, NgZone } from '@angular/core';
import { SmzDragEventData } from '../models/drag-event';
import { SmzDraggableService } from '../services/smz-draggable.service';
import * as i0 from "@angular/core";
export declare class SmzDroppable implements AfterViewInit, OnDestroy {
    el: ElementRef;
    zone: NgZone;
    smzDraggableService: SmzDraggableService;
    scope: string | string[];
    smzDroppableDisabled: boolean;
    dropEffect: string;
    enterStyles: string;
    onDragEnter: EventEmitter<SmzDragEventData>;
    onDragLeave: EventEmitter<SmzDragEventData>;
    onDrop: EventEmitter<SmzDragEventData>;
    onDropBlocked: EventEmitter<SmzDragEventData>;
    key: string;
    counter: number;
    constructor(el: ElementRef, zone: NgZone, smzDraggableService: SmzDraggableService);
    dragOverListener: any;
    ngAfterViewInit(): void;
    bindDragOverListener(): void;
    unbindDragOverListener(): void;
    dragOver(event: any): void;
    drop(event: any): void;
    dragEnter(event: any): void;
    dragLeave(event: any): void;
    allowDrop(): boolean;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzDroppable, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SmzDroppable, "[smzDroppable]", never, { "scope": { "alias": "smzDroppable"; "required": false; }; "smzDroppableDisabled": { "alias": "smzDroppableDisabled"; "required": false; }; "dropEffect": { "alias": "dropEffect"; "required": false; }; "enterStyles": { "alias": "enterStyles"; "required": false; }; }, { "onDragEnter": "onDragEnter"; "onDragLeave": "onDragLeave"; "onDrop": "onDrop"; "onDropBlocked": "onDropBlocked"; }, never, never, false, never>;
}
