import { BaseControlProperty } from '../../../property-panel/src/composition/entity/base-property';
export declare class DataGriColumnProperty extends BaseControlProperty {
    private dataGridProps;
    private notifyService;
    constructor(componentId: string, designerHostService: any);
    getPropertyConfig(propertyData: any, gridData: any): {
        type: string;
        categories: {};
    };
    getColumnTemplate(propertyData: any): any;
    /**
     * 枚举项编辑器
     * @param propertyData
     * @param valueField
     * @param textField
     * @returns
     */
    protected getItemCollectionEditor(propertyData: any, valueField: string, textField: string): {
        editor: {
            columns: {
                field: string;
                title: string;
                dataType: string;
            }[];
            type: string;
            valueField: string;
            nameField: string;
            requiredFields: string[];
            uniqueFields: string[];
            readonly: boolean;
        };
    };
    /**
  * 判断枚举数据是否只读
  * 1、没有绑定信息或者绑定变量，可以新增、删除、修改
  * 2、绑定类型为字段，且字段为枚举字段，则不可新增、删除、修改枚举值。只能从be修改然后同步到表单上。
  * @param propertyData 下拉框控件属性值
  */
    protected checkEnumDataReadonly(propertyData: any): boolean;
    private getEventPropConfig;
    getBasicPropConfig(propertyData: any): void;
    getAppearanceProperties(propertyData: any, gridData: any): void;
    private getFieldEditorProperties;
    private setFormatterEnumData;
    private getTemplateProperties;
    /**
     * 列编辑器属性
     * @param propertyData 列属性值
     * @param viewModelId viewModelId
     */
    getFieldEditorProp(propertyData: any, showPosition?: string, isSimpleTable?: boolean): void;
    /**
     * datagrid field:列编辑器类型切换后事件
     * @param newControlType 新控件类型
     * @param viewModelId 视图模型ID
     */
    changeFieldEditorType(propertyData: any, newControlType: string): void;
    /**
     * 校验编辑器是否支持切换类型
     * @param control 控件
     */
    private checkCanChangeControlType;
    /**
     * 获取可选的编辑器类型
     */
    private getAvailableEditorType;
    /**
     * 切换绑定后，变更了字段类型，则需要更新列上记录的dataType和格式化属性
     */
    private afterChangeBindingType;
    getFieldEditorPropForCard(propertyData: any, formRule: any, showPosition?: string, entityField?: any): {
        type: string;
        categories: {};
    };
}
