import { DocumentChunk } from '@grubtech/integration-core'; export interface SearchOptions { partialMatch?: boolean; maxResults?: number; } export interface ScoredChunk extends DocumentChunk { relevanceScore: number; matchedKeywords: string[]; } export declare class KeywordSearch { private options; private defaultOptions; constructor(options?: SearchOptions); /** * Search document chunks using keyword matching algorithm */ search(query: string, chunks: DocumentChunk[], limit?: number): ScoredChunk[]; /** * Tokenize query into lowercase keywords */ private tokenize; /** * Score a single document chunk against keywords */ private scoreChunk; /** * Check if text matches keyword (exact or partial) */ private matchesKeyword; /** * Count keyword occurrences in text */ private countOccurrences; /** * Escape special regex characters */ private escapeRegex; } //# sourceMappingURL=keyword-search.d.ts.map