export class DragAndDropContext {
    /**
     *
     * @type {List<Draggable>}
     */
    elements: List<Draggable>;
    /**
     *
     * @type {List<DropTarget>}
     */
    targets: List<DropTarget>;
    getElementById(id: any): Draggable;
    /**
     *
     * @param {View} view
     * @param domain
     * @param {function} validation
     * @returns {DropTarget}
     */
    addTarget(view: View, domain: any, validation: Function): DropTarget;
    /**
     *
     * @param {View} view
     */
    removeTarget(view: View): void;
    /**
     *
     * @param {View} view
     * @param {DropTarget} parent
     * @returns {Draggable}
     */
    addElement(view: View, parent: DropTarget): Draggable;
    /**
     *
     * @param {Draggable} el
     * @returns {boolean}
     */
    removeElement(el: Draggable): boolean;
    /**
     *
     * @param {Draggable} el
     */
    initializeDrag(el: Draggable): void;
    /**
     *
     * @param {Draggable} el
     */
    finalizeDrag(el: Draggable): void;
}
import List from '../../../core/collection/list/List.js';
import { Draggable } from "./Draggable.js";
import { DropTarget } from "./DropTarget.js";
export { Draggable, DropTarget };
//# sourceMappingURL=DragAndDropContext.d.ts.map