/**
 * Voice-Over Script Extractor Agent
 *
 * Extracts text from screenshots and generates professional narration scripts
 * with timestamps. Supports multiple narration styles and optional TTS integration.
 *
 * Communicates via Living Brain (context.json).
 */
import { SubAgent } from "../interfaces/SubAgent";
import { VisionTestStep, VOScript, DemoConfig } from "../../types/vision-testing";
export interface VOScriptExtractorInput {
    steps: VisionTestStep[];
    missionName: string;
    missionDescription?: string;
    narrationStyle?: "technical" | "casual" | "marketing" | "educational";
    projectPath: string;
    outputPath: string;
    generateAudio?: boolean;
    ttsConfig?: DemoConfig["ttsConfig"];
}
export interface VOScriptExtractorOutput {
    script: VOScript;
    scriptPath: string;
    audioPath?: string;
    success: boolean;
    error?: string;
}
export declare class VOScriptExtractorAgent implements SubAgent<VOScriptExtractorInput, VOScriptExtractorOutput> {
    name: string;
    description: string;
    personality: string;
    llmProvider: string;
    expertise: string[];
    private visionService;
    private contextService?;
    constructor();
    run(input: VOScriptExtractorInput): Promise<VOScriptExtractorOutput>;
    /**
     * Generate a single narration segment
     */
    private generateSegment;
    /**
     * Extract text from screenshot using vision AI
     */
    private extractTextFromScreenshot;
    /**
     * Generate narration for a step
     */
    private generateNarration;
    /**
     * Generate fallback narration
     */
    private generateFallbackNarration;
    /**
     * Build full script markdown
     */
    private buildFullScript;
    /**
     * Generate audio using TTS
     */
    private generateAudio;
    /**
     * Format timestamp as MM:SS
     */
    private formatTimestamp;
    /**
     * Format duration as human-readable string
     */
    private formatDuration;
    /**
     * Write update to Living Brain
     */
    private writeLivingBrain;
    validate(input: VOScriptExtractorInput): Promise<boolean>;
    getStatus(): Promise<{
        name: string;
        status: "idle" | "running" | "completed" | "error";
        lastRun?: Date;
        executionTime?: number;
        errorCount: number;
        successCount: number;
    }>;
}
//# sourceMappingURL=VOScriptExtractorAgent.d.ts.map