export class DropTarget {
    /**
     *
     * @param {View} view
     * @param {*} domain
     * @param {function(Draggable):boolean} [validation]
     * @constructor
     */
    constructor(view: View, domain: any, validation?: (arg0: Draggable) => boolean);
    view: View;
    /**
     *
     * @type {function(Draggable): boolean}
     */
    validation: (arg0: Draggable) => boolean;
    domain: any;
    /**
     *
     * @type {DragAndDropContext|null}
     */
    context: DragAndDropContext | null;
    on: {
        added: Signal<any, any, any, any, any, any, any, any>;
        removed: Signal<any, any, any, any, any, any, any, any>;
        moved: Signal<any, any, any, any, any, any, any, any>;
        /**
         * Draggable enters the target (hover)
         */
        enter: Signal<any, any, any, any, any, any, any, any>;
        /**
         * Draggable exists the target (hover)
         */
        exit: Signal<any, any, any, any, any, any, any, any>;
        /**
         * Thing that was dropped is invalid
         */
        invalidDrop: Signal<any, any, any, any, any, any, any, any>;
    };
    __objectsInState_ENTER: any[];
    __eventHandlers: {
        handleDrop: (event: any) => void;
        handleDragOver: (event: any) => void;
        handleDragEnter: (event: DragEvent) => void;
        handleDragLeave: (event: DragEvent) => void;
    };
    leaveEnteredElements(): void;
    handleDragEnded(): void;
    link(): void;
    unlink(): void;
}
import Signal from "../../../core/events/signal/Signal.js";
//# sourceMappingURL=DropTarget.d.ts.map