import { BuilderHTMLElement } from '@farris/designer-element';
import FdContainerBaseComponent from '../../common/containerBase/containerBase';
import { ComponentSchema } from '@farris/designer-element';
export declare class FormDragDropManager {
private cmpInstance;
constructor(cmpInstance: FdContainerBaseComponent);
/**
* 判断是否可以接收拖拽新增的子级控件
* @returns boolean
*/
canAccepts(sourceElement: BuilderHTMLElement): boolean;
/**
* 移动控件后事件:在可视化设计器中,将现有的控件移动到容器中
* @param el 移动的源DOM结构
*/
onAcceptMovedChildElement(sourceElement: BuilderHTMLElement): void;
/**
* 跨组件移动输入控件
* @param sourceComponentSchema 源控件Schema结构
* @param sourceViewModelId 源控件所属视图模型id
*/
moveInputBetweenComponent(sourceComponentSchema: ComponentSchema, sourceViewModelId: string): void;
/**
* 若源控件绑定字段,需要将绑定信息移动到新VM
* @param sourceBindingFieldId 源控件绑定的字段id
* @param sourceViewModelId 源控件所属视图模型id
* @param dgViewModelService 视图模型服务类
*/
private moveFieldBetweenViewModel;
/**
* 源控件绑定变量,需要将绑定信息移动到新VM,并且将绑定变量拷贝到新VM
* @param sourceBindingFieldId 源控件绑定的字段id
* @param sourceViewModelId 源控件所属视图模型id
* @param domService DOM结构服务类
*/
private moveVariableBetweenViewModel;
/**
* 若控件的某一个属性绑定的变量(例如控件的必填属性绑定变量),则需要将此变量拷贝的新VM中
* @param sourceComponentSchema 源控件Schema结构
* @param sourceViewModelId 源控件所属视图模型id
* @param domService DOM结构服务类
*/
private handleVaribleInPropertyBinding;
/**
* 拷贝控件绑定的事件
* @param sourceComponentSchema 源控件Schema结构
* @param sourceViewModelId 源控件所属视图模型id
* @param domService DOM结构服务类
*/
private handleEventsInProperty;
private createNewCommand;
}