import type { ItemConfig } from '../config';
import type LayoutManager from '../LayoutManager';
import { DragListenerEvent } from '../utils/DragListener';
/**
 * Creates a drag item given a starting mouseevent
 * that can then be dragged into the Layout
 *
 * @param itemConfig the configuration for the contentItem that will be created
 * @param layoutManager
 * @param event used to get the starting position
 */
export default class DragSourceFromEvent {
    private _element?;
    private _itemConfig?;
    private _layoutManager?;
    private _dragListener?;
    constructor(itemConfig: ItemConfig | (() => ItemConfig), layoutManager: LayoutManager, event: DragListenerEvent);
    /**
     * Called initially and after every drag
     */
    _createDragListener(event: DragListenerEvent): void;
    _destroy(): void;
    /**
     * Callback for the DragListener's dragStart event
     *
     * @param x the x position of the mouse on dragStart
     * @param y the x position of the mouse on dragStart
     */
    _onDragStart(x: number, y: number): void;
}
//# sourceMappingURL=DragSourceFromEvent.d.ts.map