import type { StoragePlugin } from './types.js'; import type { KnowledgeBase } from '../plugins/knowledge/knowledge-base.js'; import type { KnowledgeGraph } from './knowledge-graph.js'; import type { EventTracker } from './events.js'; export interface NLSource { type: 'knowledge' | 'observation' | 'event' | 'entity'; id: string; title: string; snippet: string; relevance: number; timestamp?: number; } export interface NLAnswer { question: string; intent: NLIntent; terms: string[]; sources: NLSource[]; summary: string; } export type NLIntent = 'what' | 'when' | 'who' | 'why' | 'how' | 'general'; export declare class NaturalLanguageQuery { private storage; private knowledgeBase; private knowledgeGraph; private eventTracker; constructor(storage: StoragePlugin, knowledgeBase: KnowledgeBase, knowledgeGraph: KnowledgeGraph, eventTracker: EventTracker); /** * Main entry point: ask a natural-language question and receive a structured answer. */ ask(question: string): Promise; /** * Classify question intent based on interrogative words. */ classifyIntent(q: string): NLIntent; /** * Extract meaningful terms from a question by removing stopwords and punctuation. */ extractTerms(q: string): string[]; /** * Run searches in parallel across different data sources based on intent. */ parallelSearch(terms: string[], intent: NLIntent): Promise; private searchKnowledge; private searchObservations; private searchEvents; private searchGraphPersons; private formatAnswer; } //# sourceMappingURL=nl-query.d.ts.map