/**
 * Multi-query expansion via Haiku (Task 308).
 *
 * Generates 3-5 paraphrases of the user query so the hybrid pipeline runs
 * each paraphrase against vector + BM25 in parallel and unions the
 * candidate sets before fusion. Recovers recall on terse queries where the
 * embedding's nearest-neighbour is unstable.
 *
 * The expansion runs through `@rubytech/oauth-llm` against Claude Haiku —
 * the same OAuth-bearer path the admin classifiers use; no new SDK
 * dependency and no Anthropic-API-key path. Cache is in-process, keyed by
 * (accountId, normalisedQuery, retrievalClass), with a 1-hour TTL.
 *
 * Graceful degrade: if the LLM call fails, returns just the original
 * query. The caller's hybrid pipeline still runs — just on one query
 * instead of N — so missing paraphrases are a recall regression, not a
 * fault.
 */
export declare function clearExpansionCache(): void;
export interface ExpandQueryParams {
    query: string;
    retrievalClass?: string;
    accountId?: string;
    /**
     * Override the cache or skip it entirely (useful in tests). When
     * `false`, the cache is read but never written; when `true` (default),
     * both reads and writes are active.
     */
    useCache?: boolean;
}
/**
 * Return `[query, ...paraphrases]` (original always first). On LLM
 * failure returns `[query]` only and writes a single stderr line so the
 * operator can see expansion is degrading without breaking search.
 */
export declare function expandQuery(params: ExpandQueryParams): Promise<string[]>;
//# sourceMappingURL=query-expansion.d.ts.map