export interface VoiceTask {
    character: string;
    originalText: string;
    targetText: string;
    audioFileName: string;
    refAudioPath?: string;
    refText?: string;
    contentHash?: string;
}
export declare class VoiceGenerator {
    private api;
    private audioOutputDir;
    private configManager;
    private backupManager;
    private workDir;
    constructor(workDir: string);
    /**
     * 初始化角色语言特色
     */
    private initializeCharacterStyles;
    private ensureAudioDir;
    /**
     * 生成基于内容的音频文件名
     * @param character 角色名
     * @param text 对话内容
     * @returns 音频文件名
     */
    private generateAudioFileName;
    /**
     * 检查音频文件是否已存在
     * @param audioFileName 音频文件名
     * @returns 文件是否存在
     */
    private audioFileExists;
    /**
     * 生成内容哈希
     * @param character 角色名
     * @param text 对话内容
     * @returns 内容哈希
     */
    private generateContentHash;
    /**
     * 删除音频文件
     * @param audioFileName 音频文件名
     */
    private deleteAudioFile;
    /**
     * 创建语音生成任务（优化版本）
     * @param addedDialogues 新增的对话
     * @returns 去重后的语音任务数组
     */
    private createVoiceTasks;
    /**
     * 使用并行处理器处理翻译和语音合成任务
     * @param tasks 语音任务数组
     * @param allDialogues 所有对话（用于提取上下文）
     * @returns 成功处理的任务数组
     */
    private processTasksParallel;
    /**
     * 主要的语音生成函数（优化版本 - 基于文件缓存）
     * @param fileName 脚本文件名（相对于工作目录/scene）
     * @param forceMode 强制模式，清理现有音频文件并重新生成所有语音
     */
    generateVoice(fileName: string, forceMode?: boolean): Promise<void>;
    /**
     * 更新脚本文件引用（新方法）
     * @param filePath 脚本文件路径
     * @param allDialogues 所有对话
     * @param successfulTasks 成功的语音任务（可选）
     */
    private updateScriptFileReferences;
}
//# sourceMappingURL=generator.d.ts.map