import type { AbstractContentItem, Stack } from '../items';
import type LayoutManager from '../LayoutManager';
import type { DragListener } from '../utils';
import { EventEmitter } from '../utils';
/**
 * This class creates a temporary container
 * for the component whilst it is being dragged
 * and handles drag events
 *
 * @param x The initial x position
 * @param y The initial y position
 * @param dragListener
 * @param layoutManager
 * @param contentItem
 * @param originalParent
 */
export default class DragProxy extends EventEmitter {
    private static _template;
    private _dragListener;
    private _layoutManager;
    private _contentItem;
    private _originalParent;
    private _area;
    private _lastValidArea;
    private _minX;
    private _maxX;
    private _minY;
    private _maxY;
    private _width;
    private _height;
    private _sided?;
    element: JQuery<HTMLElement>;
    childElementContainer: JQuery<HTMLElement>;
    private _proxyTab;
    constructor(x: number, y: number, dragListener: DragListener, layoutManager: LayoutManager, contentItem: AbstractContentItem, originalParent: Stack | null);
    /**
     * Callback on every mouseMove event during a drag. Determines if the drag is
     * still within the valid drag area and calls the layoutManager to highlight the
     * current drop area
     *
     * @param offsetX The difference from the original x position in px
     * @param offsetY The difference from the original y position in px
     * @param event
     */
    _onDrag(offsetX: number, offsetY: number, event: JQuery.TriggeredEvent): void;
    /**
     * Sets the target position, highlighting the appropriate area
     *
     * @param x The x position in px
     * @param y The y position in px
     */
    _setDropPosition(x: number, y: number): void;
    /**
     * Callback when the drag has finished. Determines the drop area
     * and adds the child to it
     */
    _onDrop(): void;
    /**
     * Removes the item from its original position within the tree
     */
    _updateTree(): void;
    /**
     * Updates the DragProxy's dimensions
     */
    _setDimensions(): void;
}
//# sourceMappingURL=DragProxy.d.ts.map