import { OpenAIService } from '../ai/openai.service';
import { LanguageDetectorService } from './language-detector.service';
/**
 * Translation request interface
 */
export interface TranslationRequest {
    text: string;
    sourceLanguage?: string;
    targetLanguage: string;
    context?: string;
    preserveFormatting?: boolean;
}
/**
 * Translation result interface
 */
export interface TranslationResult {
    originalText: string;
    translatedText: string;
    sourceLanguage: string;
    targetLanguage: string;
    confidence: number;
    alternatives?: string[];
}
/**
 * Locale-specific parsing interface
 */
export interface LocaleParsingRules {
    language: string;
    priorityTerms: Map<string, string>;
    datePatterns: RegExp[];
    numberPatterns: RegExp[];
    taskTypeTerms: Map<string, string>;
}
/**
 * Translation and Localization Service
 */
export declare class TranslationService {
    private openAIService;
    private languageDetector;
    private localeRules;
    private translationCache;
    constructor(openAIService: OpenAIService, languageDetector: LanguageDetectorService);
    /**
     * Initialize locale-specific parsing rules
     */
    private initializeLocaleRules;
    /**
     * Translate text between languages
     */
    translate(request: TranslationRequest): Promise<TranslationResult>;
    /**
     * Perform the actual translation using OpenAI
     */
    private performTranslation;
    /**
     * Apply locale-specific parsing rules
     */
    applyLocaleRules(text: string, language: string): {
        normalizedText: string;
        extractedTerms: Map<string, string>;
    };
    /**
     * Parse locale-specific date formats
     */
    parseLocaleDate(dateString: string, language: string): Date | null;
    /**
     * Parse locale-specific number formats
     */
    parseLocaleNumber(numberString: string, language: string): number | null;
    /**
     * Generate cache key for translation request
     */
    private getCacheKey;
    /**
     * Clear translation cache
     */
    clearCache(): void;
    /**
     * Get cache statistics
     */
    getCacheStats(): {
        size: number;
    };
}
//# sourceMappingURL=translation.service.d.ts.map