/**
 * 引用字段（Lookup Field）的回调类型定义。
 *
 * 本文件定义业务侧通过 `fieldTypeOptions.lookup` 传入的回调签名，
 * 用于在创建/删除引用字段时通知业务层同步子表元数据。
 *
 * 注意：与列驱动内部的 LookupFieldConfig 不同
 * 驱动侧关注 UI 交互与字段生命周期，此处仅约束外部注入的回调契约。
 * @see {@link ../view/field-system/drivers/lookup-field-driver | LookupFieldDriver}
 */
/** 子表字段摘要，作为 addFieldCallback / deleteFieldCallback 的入参（对齐魔方列项结构） */
export interface LookupFieldCallbackParams {
    /** 字段的渲染模型描述（组件类型 + 组件属性） */
    model: {
        /** Formily 组件类型，如 'CnInput'、'CnNumberPicker' */
        type?: string;
        /** 组件透传属性 */
        props?: Record<string, unknown>;
        [key: string]: unknown;
    };
    /** 子表字段展示名 */
    label: string;
    /** 是否支持搜索，协议约定为字符串 `"true"` / `"false"` */
    canSearch: string;
    /** 子表字段唯一标识（targetFieldCode） */
    value: string;
}
/** 业务侧引用字段回调函数签名 */
export type LookupFieldCallbackFn = (param: LookupFieldCallbackParams) => void | Promise<void>;
/** 注入 FieldContext.services.lookup，供 LookupFieldDriver 消费的回调集合 */
export interface LookupFieldCallbacks {
    /** 创建引用字段后的回调，用于通知业务层在子表中新增对应字段 */
    addFieldCallback?: LookupFieldCallbackFn;
    /** 删除引用字段后的回调，用于通知业务层在子表中移除对应字段 */
    deleteFieldCallback?: LookupFieldCallbackFn;
}
/** 从外部配置中提取 lookup 回调，无有效回调时返回 undefined 以跳过注入 */
export declare function pickLookupCallbacks(cfg: LookupFieldCallbacks | null | undefined): LookupFieldCallbacks | undefined;
