/** 字段配置-渲染组件标识 */
export type FieldPropsSchemaKey = 'schema:field-text' | 'schema:field-boolean' | 'schema:field-number' | 'schema:field-datetime' | 'schema:field-user' | 'schema:field-org' | 'schema:field-sign' | 'schema:field-enum' | 'schema:field-file' | 'schema:field-image' | 'schema:field-trace' | 'schema:field-business';
/** 优先级规则 */
export interface PriorityRule {
    type: 'priority';
    /** 按顺序取值 */
    fields: string[];
}
/** 解析规则 */
export interface ResolveRule {
    type: 'resolve';
    /** 默认值特殊处理逻辑 key */
    valueType: 'date' | 'user' | 'org' | 'bool' | 'enum';
    /** 默认值字段 */
    valueField: string;
    /** 来源字段 */
    from?: string;
    /** 默认 label */
    labelKey?: string;
    /** 默认 value */
    valueKey?: string;
    /** 默认 value */
    returnKey?: string;
    /** 是否多选情况（用于人员选择和部门选择） */
    isMulti?: boolean;
    /** 是否在渲染端发起的请求调用 */
    isRenderSideRequest?: boolean;
    fetcher?: 'user' | 'dept';
    /** 失败时的默认 label */
    fallback?: string;
}
export interface JoinRule {
    type: 'join';
    from: string;
    field: string;
    labelKey?: string;
    valueKey?: string;
}
export interface ApiRule {
    type: 'api';
    /** 请求函数 key */
    fetcher: 'ref' | 'lot2sn' | 'rdo2ref';
    /** 仅主模型字段可发起请求 */
    onlyMainModelFieldsCanRequest: boolean;
    /** 失败时的默认 label */
    fallback?: string;
}
/** map 转换 */
export interface MapRule {
    type: 'map';
    /** 来源字段 */
    from: string;
    /** 过滤规则 key */
    filter: 'bool' | 'enum';
    /** 默认 label */
    labelKey?: string;
    /** 默认 value */
    valueKey?: string;
}
export type ComputedRule = PriorityRule | ResolveRule | MapRule | JoinRule | ApiRule;
export interface FieldComputedConfig {
    /** 写回 props 的派生规则 */
    propRules?: Record<string, ComputedRule>;
    /** 写入 dataManager 的派生规则 */
    defaultValueRule?: ComputedRule;
}
