import * as React from "react"; import { Node } from "../../model/Node"; import { TabNode } from "../../model/TabNode"; import { TabSetNode } from "../../model/TabSetNode"; import { IDraggable } from "../../model/IDraggable"; import { IJsonTabNode } from "../../model/IJsonModel"; import { LayoutController } from "./LayoutController"; import { ModelLayout } from "../../model/ModelLayout"; export declare class DragDropManager { private static dragState; private _controller; private _dragEnterCount; private _dragging; private _active; private _dropInfo; private _outlineDiv?; private _mainController; constructor(controller: LayoutController); private isDockTarget; private isExcludeCenter; addTabWithDragAndDrop(event: DragEvent, json: IJsonTabNode, onDrop?: (node?: Node, event?: React.DragEvent) => void): void; onDragEnded(): void; moveTabWithDragAndDrop(event: DragEvent, node: TabNode | TabSetNode): void; startDockLayoutDrag(event: DragEvent, layout: ModelLayout, sourceFloatElement?: Element): void; setDragNode: (event: DragEvent, node: Node & IDraggable) => void; setDragComponent(event: DragEvent, component: React.ReactNode, x: number, y: number): void; updateActive(event: React.DragEvent): void; setActive(active: boolean, event: React.DragEvent): void; onDragEnterRaw: (event: React.DragEvent) => void; onDragLeaveRaw: (event: React.DragEvent) => void; clearDragMain(): void; clearDragLocal(): void; clearDragLocalVisuals(): void; onDragEnter: (event: React.DragEvent) => void; onDragOver: (event: React.DragEvent) => void; onDragLeave: (_event: React.DragEvent) => void; onDrop: (event: React.DragEvent) => void; getDragEnterCount(): number; isDragging(): boolean; } export declare enum DragSource { Internal = "internal", External = "external", Add = "add", Float = "float" } export declare class DragState { readonly mainLayoutController: LayoutController; readonly dragSource: DragSource; readonly dragNode: (Node & IDraggable) | undefined; readonly dragJson: IJsonTabNode | undefined; readonly fnNewNodeDropped: ((node?: Node, event?: React.DragEvent) => void) | undefined; readonly dockFloatToMain: boolean; readonly floatLayoutId: string | undefined; readonly sourceFloatElement: Element | undefined; constructor(mainLayoutController: LayoutController, dragSource: DragSource, dragNode: (Node & IDraggable) | undefined, dragJson: IJsonTabNode | undefined, fnNewNodeDropped: ((node?: Node, event?: React.DragEvent) => void) | undefined, dockFloatToMain?: boolean, floatLayoutId?: string | undefined, sourceFloatElement?: Element | undefined); }