import type { GlobalSearchActiveTab, GlobalSearchMode, GlobalSearchProvider, GlobalSearchProviderKey, GlobalSearchStateMap } from '../types';
/**
 * useProviderSearch
 *
 * 职责：
 * 1. 按当前 keyword + activeTab 触发对应 Provider 的 search；
 *    - All 模式：并发触发所有 enabled provider，每条结果独立写入状态（先到先显示）；
 *    - 单 Tab 模式：仅触发对应 provider；
 * 2. 用 AbortController 取消上一轮 in-flight 请求；
 *    - 每个 provider 一个 controller，避免互相影响；
 * 3. 切换 keyword / activeTab / providers 时自动重新调度；
 * 4. 暴露 refresh() 主动重跑当前调度。
 */
export interface UseProviderSearchOptions {
    keyword: string;
    activeTab: GlobalSearchActiveTab;
    providers: GlobalSearchProvider[];
    /** All 模式下每个 provider 的 pageSize */
    allModePageSize: number;
    /** 单 Tab 模式下的 pageSize */
    singleModePageSize: number;
    /**
     * 当前模式（管理/业务）；作为参数透传给 provider.search。
     * 切换 mode 时会触发重新调度（同 keyword/activeTab）。
     */
    mode: GlobalSearchMode;
    /**
     * 实时 delta 原始项通知。调用方可据此刷新正在打开的详情。
     */
    onRealtimePatchItems?: (providerKey: GlobalSearchProviderKey, items: any[]) => void;
}
export interface UseProviderSearchResult {
    /** 各 provider 状态 */
    stateMap: GlobalSearchStateMap;
    /** 手动重新跑当前调度 */
    refresh: () => void;
}
export declare function useProviderSearch(options: UseProviderSearchOptions): UseProviderSearchResult;
