import { BooleanInput } from '@angular/cdk/coercion';
import { ElementRef } from '@angular/core';
import { DejaClipboardService, Destroy } from '@deja-js/component/core';
import { IDejaDragEvent } from './draggable.directive';
import * as i0 from "@angular/core";
export declare class DejaDroppableDirective extends Destroy {
    private clipboardService;
    /**
     * @deprecated
     */
    set allEvents(value: BooleanInput);
    droppable: boolean;
    private draginfokey;
    private objectKey;
    private droppedKey;
    private elementKey;
    private lastTarget;
    private lastAccept;
    private _allEvents;
    private _context;
    set context(value: IDejaDropContext);
    get context(): IDejaDropContext;
    constructor(elementRef: ElementRef, clipboardService: DejaClipboardService);
    static ɵfac: i0.ɵɵFactoryDeclaration<DejaDroppableDirective, [null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DejaDroppableDirective, "[deja-droppable]", never, { "allEvents": "continous-dragover"; "context": "deja-droppable"; }, {}, never, never, false>;
}
export interface IDejaDropEvent extends IDejaDragEvent {
    itsMe: boolean;
}
export interface IDejaDropContext {
    dragentercallback: (event: IDejaDropEvent) => void;
    dropcallback?: (event: IDejaDropEvent) => void;
    dragovercallback?: (event: IDejaDropEvent) => void;
    dragleavecallback?: (event: CustomEvent) => void;
}
