import type { CnSenderProps } from '../../cn-sender/view/types/cn-sender-props';
import type { CustomPopupProps } from '../../cn-sender/view/types/custom-popup-props';
import type { OnFieldSelectParams } from '../../cn-sender/view/types/on-field-select-params';
import type { CnAiBizRequestConfig } from '../../cn-ai-table/types';
import type { LookupFieldSearchConfig, LookupFieldSearchConfigMap } from '../../cn-ai-agent/types';
export interface CnAiFilterProps extends Omit<CnSenderProps, 'onSubmit' | 'onSearch'> {
    /**
     * Schema 菜单触发键（可选，默认为 "/"）
     */
    popupTriggerKey?: string;
    /**
     * 自定义弹窗配置
     */
    customPopupProps?: CustomPopupProps & {
        /**
         * 字段选择回调，当用户选择字段时调用
         * 此回调会在 CnAsyncSelect 的 onChange 中被调用
         */
        onFieldSelect?: (params: OnFieldSelectParams) => void;
    };
    onSearch?: (params: any) => void;
    /**
     * 业务平台用户唯一 ID，用于个性化推荐等；不传时组件内使用 `getOperator()`（与包导出的工具一致）。
     */
    operator?: string;
    /**
     * 页面/实例唯一标识，与 CnAiTable、CnAiAgent 的 `id` 对齐；组件内请求体中的 `code` 等参数由此透传。
     */
    id?: string;
    /**
     * 自定义翻译 API 完整地址（可选）
     * 如果提供，会直接使用此地址（亦可由 `bizRequestConfig.filter.fieldTransformUrl` 提供）
     */
    customFieldTransformApi?: string;
    /**
     * Schema 配置（用于鸟搭格式转换）
     */
    schema?: any;
    /**
     * 当 lastSearchParams 变化时的回调函数
     * @param lastSearchParams - 上一次的搜索参数
     */
    onLastSearchParamsChange?: (lastSearchParams: string) => void;
    /**
     * 是否在筛选条左侧展示 AI 助理显隐图标，并与页面助理（如 cn-agent-page）经事件总线对齐。
     * @default true
     */
    showAgentIcon?: boolean;
    /**
     * 业务侧 AI 请求 URL 配置（仅筛选能力）
     */
    bizRequestConfig?: CnAiBizRequestConfig;
    /**
     * 引用字段搜索配置（可选，事件同步失败时可作为兜底）
     */
    lookupFieldConfigs?: LookupFieldSearchConfigMap | LookupFieldSearchConfig[];
}
export type { CustomPopupProps, OnFieldSelectParams };
