import { BuilderHTMLElement, FarrisDesignBaseComponent } from '@farris/designer-element';
import { DesignerEnvType } from '@farris/designer-services';
import { RowNode } from '@farris/ui-treetable';
import { FormPropertyChangeObject } from '../../../../../entity/property-change-entity';
import { LocaleService } from '@farris/ui-locale';
export default class FarrisDesignField extends FarrisDesignBaseComponent {
/** 控件当前运行环境 */
envType: DesignerEnvType;
/** 控件绑定字段或变量是否有效 */
isValidBinding: boolean;
localeService: LocaleService;
constructor(component: any, options: any);
/**
* 获取组件级样式
*/
getClassName(): string;
/**
* 判断控件样式中是否需要追加farris-form-controls-inline
* @param formNode 父级Form控件schema数据
*/
private checkControlsInLine;
/**
* 渲染输入类控件,将label提取出来
* @param element 输入框部分的html
*/
render(element: any, showLabel?: boolean): string;
attach(element: BuilderHTMLElement): Promise;
/**
* 监听属性面板的属性变更事件,并触发模板重绘。默认监听样式类属性
* @param changeObject 属性变更集
* @param propertyIDs 需要额外监听变更的属性id列表
*/
onPropertyChanged(changeObject: FormPropertyChangeObject, propertyIDs?: string[]): void;
/**
* 删除控件:同步移除视图模型配置数据
*/
onRemoveComponent(): void;
onMoveComponent(): void;
/**
* 组装输入类右键菜单
* @param rowNode 组件在控件树上对应的行数据
*/
resolveContextMenuConfig(rowNode: RowNode): import("../../../../../entity/control-context-menu").ControlContextMenuItem[];
/**
* 检查控件的绑定是否有效
*/
private checkBindingFieldValidation;
private checkBindingFormFieldValidation;
private checkBindingVariableFieldValidation;
/**
* 零代码:支持输入控件另存为模板
*/
private addSaveAsCustomToolbarConfig;
/**
* 零代码:弹出另存为模板的窗口
*/
private showSaveAsTemplateModal;
/**
* 点击输入类控件后,启用模板中标签区域的编辑
* @param e
* @returns
*/
afterComponentClicked(e?: PointerEvent): void;
/**
* 取消点击输入控件后,移除标签区域的编辑特性
* @param e
* @returns
*/
afterComponentCancelClicked(e?: PointerEvent): void;
/**
* 注册label标签的编辑事件
*/
private registerLableSpanContentEditable;
/**
* 修改控件标签后,同步schema字段
*/
private syncSchemaFieldAfterControlTitleChanged;
}