/// <reference types="react" />
export interface SubFormData {
    id: string | number;
    [name: string]: any;
}
export interface FiledInfo {
    /**
     * 表单字段所使用组件类型
     */
    compType: string;
    /**
     * 表单字段name
     */
    attrCode: string;
    /**
     * 表单字段label
     */
    attrName: string;
    /**
     * 表单字段业务ID
     */
    busiObjectId: string;
    /**
     * 选项类型组件选择数据存储的静态编码
     */
    staticCode: string;
}
export interface BindFormInfo {
    /**
     * 绑定的appId
     */
    appId: string;
    /**
     * 绑定的目录ID
     */
    catalogItemId: string;
    /**
     * 绑定的目录名称
     */
    catalogItemName: string;
    /**
     * 绑定的目录类型
     */
    catalogItemType: string;
    /**
     * 备注
     */
    remark?: string;
}
export interface SelectDataProps {
    /**
     * 所关联表单的应用Id
     */
    bindForm: BindFormInfo;
    /**
     * 所关联表单的应用Id
     */
    appId: string;
    /**
     * 所关联表的DSL数据 JSON字符串格式
     */
    dsl: string;
    /**
     * 弹窗显隐
     */
    visible: boolean;
    /**
     * 点击确定回调
     */
    onOk: (data: Record<string, any>[]) => void;
    /**
     * 关闭弹窗回调
     */
    onCancel: () => void;
    /**
     * 查询弹窗显示字段集合
     */
    selectFields: FiledInfo[];
    /**
     * 单选形态已选数据Id
     */
    selectedDataId?: React.Key;
    /**
     * 多选形态已选数据Id集合
     */
    selectedDataIds?: React.Key[];
    /**
     * 是否多选
     */
    isMultiple?: boolean;
    /**
     * 获取引擎能力
     */
    getEngineApis?: any;
}
export interface DataLinkageEdProps {
    /**
     * 引导文字
     */
    placeholder?: string;
    /**
     * 是否是子表单
     */
    isInSubForm?: boolean;
    /**
     * 表单中展示字段
     */
    previewFields: FiledInfo[];
}
interface value {
    ['obj_id']: string | number;
    [name: string]: any;
}
export interface DataLinkageProps {
    value: value;
    onChange: (value: value) => void;
    /**
     * 字段属性
     */
    fieldAttr?: string[];
    /**
     * 引导文字
     */
    placeholder?: string;
    /**
     * 所关联表单的信息
     */
    bindForm: BindFormInfo;
    /**
     * 查询弹窗显示字段集合
     */
    selectFields: FiledInfo[];
    /**
     * 关联数据填充规则
     */
    dataLinkageRuleInfo?: any[];
    /**
     * 是否可编辑
     */
    disabled?: boolean;
    /**
     * 是否在子表单组件内部
     */
    isInSubForm?: boolean;
    /**
     * 表单中显示字段
     */
    previewFields: FiledInfo[];
    /**
     * 当前子表单数据
     */
    subFormDatas?: SubFormData[];
    /**
     * 关联数据在子表单的起始行索引
     */
    subFormStartIndex?: number;
    /**
     * 添加子表单数据方法
     */
    addSubFormData?: (data: SubFormData[]) => void;
    /**
     * 获取引擎能力
     */
    getEngineApis?: any;
    /**
     * 标题占比，这里用于判断表单是水平布局还是垂直布局
     */
    labelCol?: any;
    $$componentItem?: {
        appId: string;
        [key: string]: any;
    };
}
export interface DataLinkagePcProps extends DataLinkageProps {
    /**
     * pc组件中外层表单实例
     */
    form: any;
}
export interface DataLinkageH5Props extends DataLinkageProps {
    /**
   * h5组件中外层表单实例
   */
    form: any;
}
export {};
