import { KeyphraseEntry, SEEKTOPICOptions, SEEKTOPICResult } from './types';
/**
* ### SEEKTOPIC \u2014 Keyphrase & Sentence Extraction
*
* Pulls the most important phrases and sentences out of any document.
* Given raw text, it returns a ranked list of key concepts (e.g. "neural
* network", "climate change") and, optionally, the sentences that best
* summarise the document around those concepts.
*
*
*
* **How it works \u2014 8-step pipeline:**
*
* 1. **Clean** \u2014 strip HTML tags and entities.
* 2. **Split** \u2014 break text into sentences, respecting abbreviations and URLs.
* 3. **Topic Extraction** *(LLM Path)* \u2014 sends the first 5000 words to an LLM
* to extract the most descriptive key topic phrases labeling the document.
* 4. **Vector Search** *(LLM Path)* \u2014 calculates cosine similarity embeddings
* for all sentences vs topic phrases, finding the top relevant sentences per topic.
* 5. **Tokenise & Extract** *(Fallback)* \u2014 if LLM fails, identify noun-anchored
* n-grams (1-N words).
* 6. **Score & Fold** *(Fallback)* \u2014 weight phrases and merge subsumed phrases.
* 7. **Re-weight** *(Fallback)* \u2014 boost Wikipedia entities and rare domain terms.
* 8. **TextRank** *(Fallback)* \u2014 build sentence similarity graph and run random walk.
*
*
*
* @param docText - Plain text or HTML document to analyse.
* @param options - Optional tuning parameters (word limits, thresholds, query bias).
* @returns
* - `optionSkipRanking: true` (default) \u2192 `KeyphraseEntry[]` sorted by weight.
* - `optionSkipRanking: false` \u2192 `SEEKTOPICResult` with `topSentences`,
* `keyphrases`, and the full `sentences` array.
*
* @example
* // Fast: just extract keyphrases
* const keyphrases = extractSEEKTOPIC(articleText, { phrasesModel });
* // \u2192 [{ keyphrase: "machine learning", weight: 84 }, ...]
*
* @example
* // Full: keyphrases + summary sentences, biased toward a search query
* const { topSentences, keyphrases } = extractSEEKTOPIC(articleText, {
* phrasesModel,
* optionSkipRanking: false,
* heavyWeightQuery: "transformer attention",
* limitTopSentences: 5,
* }) as SEEKTOPICResult;
*
* @author [ai-research-agent (2024)](https://airesearch.js.org)
* @category Topics
*/
export declare function extractSEEKTOPIC(docText: string, options?: SEEKTOPICOptions): Promise;