/**
 * CrossEncoderReranker — AI 驱动的语义重排器
 *
 * 替代 Jaccard 相似度，使用 LLM 对 (query, document) 对进行语义相关性评分。
 *
 * 策略:
 *   1. 将候选文档与 query 组成 pairs，批量送入 AI 评分
 *   2. AI 返回每个 pair 的 relevance score (0.0-1.0)
 *   3. 按 score 降序排列
 *
 * 优化:
 *   - 单次 API 调用批量评分（减少延迟和成本）
 *   - 文档截断至 MAX_DOC_LEN 控制 token 消耗
 *   - 候选上限 MAX_CANDIDATES，超出部分保留原始顺序
 *   - AI 不可用时自动降级到 Jaccard
 */
interface RerankCandidate {
    title?: string;
    trigger?: string;
    description?: string;
    summary?: string;
    code?: string;
    content?: string;
    semanticScore?: number;
    [key: string]: unknown;
}
export declare class CrossEncoderReranker {
    #private;
    constructor(opts?: {
        aiProvider?: {
            chatWithStructuredOutput: (prompt: string, opts: Record<string, unknown>) => Promise<unknown>;
        } | null;
        logger?: {
            warn?: (...args: unknown[]) => void;
        };
    });
    /**
     * 对候选列表进行语义重排
     *
     * @param query 用户查询
     * @param candidates Layer 1 输出的候选列表
     * @returns 附带 semanticScore 的候选列表（降序）
     */
    rerank(query: string, candidates: RerankCandidate[]): Promise<RerankCandidate[] | {
        semanticScore: any;
        title?: string;
        trigger?: string;
        description?: string;
        summary?: string;
        code?: string;
        content?: string;
    }[]>;
}
export {};
