import { Lifelog } from "./limitless-client.js";
export interface TranscriptOptions {
    format: "raw_text" | "verbatim" | "structured" | "timestamps" | "speakers_only";
    includeTimestamps?: boolean;
    includeSpeakers?: boolean;
    includeContext?: boolean;
    preserveFormatting?: boolean;
    timeFormat?: "offset" | "absolute" | "duration";
    speakerFormat?: "names" | "identifiers" | "both";
}
export interface TranscriptSegment {
    speaker?: string;
    speakerIdentifier?: "user" | null;
    content: string;
    startTime?: string;
    endTime?: string;
    startOffsetMs?: number;
    endOffsetMs?: number;
    duration?: number;
    type: string;
}
export interface DetailedTranscript {
    lifelogId: string;
    title: string;
    startTime: string;
    endTime: string;
    totalDuration: number;
    segments: TranscriptSegment[];
    metadata: {
        speakerCount: number;
        uniqueSpeakers: string[];
        wordCount: number;
        averageSegmentLength: number;
        technicalTermsFound: string[];
        numbersAndFigures: string[];
        keyPhrases: string[];
    };
    rawText: string;
    formattedTranscript: string;
}
export declare class TranscriptExtractor {
    /**
     * Extract raw, unformatted transcript from lifelog data
     * Optimized for AI processing with maximum context preservation
     */
    static extractRawTranscript(lifelog: Lifelog, options?: TranscriptOptions): DetailedTranscript;
    /**
     * Extract segments with maximum detail preservation
     */
    private static extractSegments;
    /**
     * Analyze content for technical terms, figures, and important details
     */
    private static analyzeContent;
    /**
     * Extract technical terminology with precision
     */
    private static extractTechnicalTerms;
    /**
     * Extract numbers, figures, percentages, and quantitative data
     */
    private static extractNumbersAndFigures;
    /**
     * Extract key phrases and important concepts
     */
    private static extractKeyPhrases;
    /**
     * Generate clean raw text optimized for AI processing
     */
    private static generateRawText;
    /**
     * Generate formatted transcript based on specified format
     */
    private static generateFormattedTranscript;
    /**
     * Create empty transcript for lifelogs with no content
     */
    private static createEmptyTranscript;
    /**
     * Extract multiple lifelogs and combine into comprehensive transcript
     */
    static extractMultipleTranscripts(lifelogs: Lifelog[], options?: TranscriptOptions): {
        combinedTranscript: string;
        individualTranscripts: DetailedTranscript[];
        aggregatedMetadata: any;
    };
}
//# sourceMappingURL=transcript-extraction.d.ts.map