import type { RawHit } from "../../runtime/ports/source-provider.js";
import type { EmbeddingProvider } from "../memory/local-embedding.js";
export interface Reranker {
    /** 按 query 语义相关性重排 hits;失败/无模型时返回原序(fail-loud,不破坏召回)。 */
    rerank(query: string, hits: RawHit[]): Promise<RawHit[]>;
}
export interface EmbeddingRerankerDeps {
    /** embedding provider 工厂(调用方注入,可异步懒解析)。dimensions=0 视为无模型 → 原序。 */
    getProvider: () => EmbeddingProvider | Promise<EmbeddingProvider>;
    /** 每条 hit 文本(title+snippet)最大字符,控 token。默认 512。 */
    maxTextChars?: number;
}
export declare function createEmbeddingReranker(deps: EmbeddingRerankerDeps): Reranker;
