/**
 * Lexical-first retrieval pipeline.
 *
 * For one turn: authorize/filter BEFORE ranking, resolve exact identifiers and
 * reviewed aliases via query n-gram lookup, add field-aware BM25 over a bounded
 * query+history window, combine the deterministic signals, take the top
 * candidates, expand a bounded set of directly-related entries, and classify
 * confidence. No LLM, no embeddings, no vector store.
 */
import type { KnowledgeIndexSnapshot, KnowledgeResolvedRetrieval, KnowledgeRetrievalRequest, KnowledgeSelection } from "../types/index.js";
/**
 * Run retrieval against a ready snapshot. Returns the primary selection, a
 * bounded relationship expansion, the scored candidate list (diagnostics), and
 * a confidence class. Context assembly is a separate, later step.
 */
export declare const retrieve: (snapshot: KnowledgeIndexSnapshot, request: KnowledgeRetrievalRequest, config: KnowledgeResolvedRetrieval, blockedDomains?: string[]) => KnowledgeSelection;
