import type * as ElevenLabs from "../index";
/**
 * System tool for searching ElevenLabs documentation using RAG.
 *
 * This tool provides access to:
 * - Product documentation
 * - API references
 * - Pricing information
 * - Troubleshooting guides
 * - Best practices
 *
 * It uses a flexible multi-source approach with configurable:
 * - Document sources with per-source k for dense/keyword retrieval
 * - Merging strategies (RRF, top-K per source, weighted interleave)
 * - Query decomposition and reformulation
 * - LLM synthesis vs raw chunks
 */
export interface SearchDocumentationToolConfigInput {
    /** Use the new multi-source retrieval engine */
    useMultiSource?: boolean;
    /** Full multi-source configuration as JSON. Takes precedence over individual fields. Example: {'source_names': ['chunks'], 'use_decomposition': true, 'final_top_k': 5} */
    multiSourceConfig?: ElevenLabs.MultiSourceConfigJson;
    /** Decompose complex queries into sub-queries */
    useDecomposition?: boolean;
    /** Use LLM to reformulate query for better retrieval */
    useReformulation?: boolean;
    /** True = LLM generates answer, False = return raw chunks */
    synthesizeResponse?: boolean;
    /** Strategy for merging results: 'top_k_per_source' (concatenate), 'rank_fusion' (RRF), 'weighted_interleave' */
    mergingStrategy?: ElevenLabs.MergingStrategy;
    /** Final number of chunks after merging */
    finalTopK?: number;
    /** List of source names to use (e.g., ['chunks', 'products']). Defaults to both 'products' and 'chunks'. Unknown sources are ignored with a warning. */
    sourceNames?: string[];
    /** Per-source parameter overrides as JSON. Example: [{'name': 'chunks', 'k_dense': 10, 'k_keyword': 5}] */
    sourceOverrides?: ElevenLabs.SourceConfigJson[];
    /** Full custom source configurations. For advanced use only. */
    sourceConfigs?: ElevenLabs.SourceRetrievalConfig[];
}
