/** * TranscriptProcessor — Parse interview transcripts into structured research data. * * Heuristic-first: speaker detection via label patterns, theme extraction via * TF-IDF on nouns, quote detection via first-person pronouns and sentence length. * AI enhances when available but is never required. */ export interface TranscriptSegment { speaker: string; text: string; timestamp?: string; sentiment?: "positive" | "negative" | "neutral"; } export interface TranscriptTheme { name: string; frequency: number; quotes: string[]; sentiment: "positive" | "negative" | "neutral" | "mixed"; } export interface ProcessedTranscript { speakers: string[]; segments: TranscriptSegment[]; themes: TranscriptTheme[]; insights: ProcessedTranscriptInsight[]; quotes: string[]; summary: string; wordCount: number; duration?: string; } export interface ProcessedTranscriptInsight { id: string; finding: string; confidence: "high" | "medium" | "low"; source: string; evidence: string[]; tags: string[]; createdAt: string; } export declare function parseSegments(text: string): TranscriptSegment[]; export declare function extractThemes(segments: TranscriptSegment[], minFrequency?: number): TranscriptTheme[]; export declare function extractQuotes(segments: TranscriptSegment[], minLength?: number): string[]; export declare function generateInsights(themes: TranscriptTheme[], segments: TranscriptSegment[], source: string): ProcessedTranscriptInsight[]; export declare function processTranscript(text: string, source?: string): ProcessedTranscript;