import type { LLMProvider } from '../adapter/llm-provider.js'; import { Classifier } from '../pipeline/classifier.js'; import type { KnowledgeEntry, KnowledgeSource } from '../types/index.js'; import { type AnalysisArtifact } from './analysis-artifact.js'; export interface ConversationMessage { role: string; content: string; timestamp?: Date; } export type ConversationLLMProvider = LLMProvider; export interface ConversationExtractorOptions { llmProvider: ConversationLLMProvider; classifier?: Classifier; minConfidence?: number; promptBuilder?: (messages: ConversationMessage[]) => string; } export interface ConversationExtractionResult { entries: KnowledgeEntry[]; artifact: AnalysisArtifact; } export declare class ConversationExtractor { private readonly llmProvider; private readonly classifier; private readonly minConfidence; private readonly promptBuilder; constructor(options: ConversationExtractorOptions); extract(messages: ConversationMessage[], source: KnowledgeSource, existingEntries?: KnowledgeEntry[]): Promise; extractWithArtifact(messages: ConversationMessage[], source: KnowledgeSource, existingEntries?: KnowledgeEntry[]): Promise; private toKnowledgeEntry; private buildContextWindow; } //# sourceMappingURL=conversation-extractor.d.ts.map