import { TranslateConfig, CharacterVoiceConfig } from '../config.js';
import { ScannedModelFiles, EmotionRecognitionResult } from '@webgal-tools/config';
export * from './interface.js';
export * from './implementations.js';
export * from './factory.js';
/**
 * 统一翻译服务类
 */
export declare class TranslateService {
    private modelCache;
    private currentIndexMaps?;
    /**
     * 获取或创建AI模型实例
     */
    private getModel;
    /**
     * 获取角色的语言特色
     */
    private getCharacterStyle;
    /**
     * 获取通用翻译规则
     * 提取两个提示词中共同的翻译规则部分
     */
    private getCommonTranslationRules;
    /**
     * 构建翻译提示词
     */
    private buildTranslatePrompt;
    /**
     * 构建模型选择提示词
     */
    private buildModelSelectionPrompt;
    /**
     * 智能路径匹配函数
     * 处理AI返回的路径与扫描结果路径的匹配问题
     */
    private findBestMatchingPath;
    /**
     * 模型选择和翻译
     */
    selectModelAndTranslate(character: string, speech: string, targetLanguage: string, scannedFiles: ScannedModelFiles, config: TranslateConfig, characterConfig?: CharacterVoiceConfig, context?: string): Promise<EmotionRecognitionResult>;
    /**
     * 翻译文本
     */
    translate(character: string, speech: string, targetLanguage: string, config: TranslateConfig, characterConfig?: CharacterVoiceConfig, context?: string): Promise<string>;
    /**
     * 清理翻译结果
     */
    private cleanupTranslationResult;
    /**
     * 检查服务可用性
     */
    checkAvailability(config: TranslateConfig): Promise<boolean>;
    /**
     * 清理模型缓存
     */
    clearCache(): void;
    /**
     * 设置角色语言特色
     */
    setCharacterStyle(character: string, style: string): void;
    /**
     * 获取所有角色样式
     */
    getAllCharacterStyles(): Map<string, string>;
    /**
     * 移除角色样式
     */
    removeCharacterStyle(character: string): void;
}
declare const translateService: TranslateService;
export declare function translate(character: string, speech: string, targetLanguage: string, config: TranslateConfig, context?: string): Promise<string>;
export declare function setCharacterStyle(character: string, style: string): void;
export declare function checkTranslatorService(config: TranslateConfig): Promise<boolean>;
export { translateService };
//# sourceMappingURL=index.d.ts.map