import { LanguagePack } from '../types'; import { ILocalizationSystem } from '../interfaces'; export interface TranslationOptions { [key: string]: string | number; } export interface LocalizationStats { currentLanguage: string; availableLanguages: string[]; totalTranslations: number; loadedLanguagePacks: number; } export declare class LocalizationSystem implements ILocalizationSystem { private locales; private currentLanguage; private fallbackLanguage; constructor(defaultLanguage?: string); /** * Load the default English locale */ private loadDefaultLocale; /** * Load a language pack */ loadLanguagePack(language: string, languagePack: LanguagePack): void; /** * Set the current language */ setLanguage(language: string): boolean; /** * Get the current language */ getCurrentLanguage(): string; /** * Get translated text with variable substitution */ translate(key: string, variables?: TranslationOptions): string; /** * Check if a translation key exists */ hasTranslation(key: string): boolean; /** * Get all available languages */ getAvailableLanguages(): string[]; /** * Add a translation key to the current language */ addTranslation(key: string, translation: string): void; /** * Remove a translation key */ removeTranslation(key: string): boolean; /** * Get the complete language pack for a language */ getLanguagePack(language: string): LanguagePack | null; /** * Export the current language pack */ exportLanguagePack(language?: string): LanguagePack | null; /** * Import a language pack */ importLanguagePack(language: string, languagePack: LanguagePack): void; /** * Get all translation keys for the current language */ getTranslationKeys(): string[]; /** * Validate a language pack structure */ validateLanguagePack(languagePack: LanguagePack): { isValid: boolean; errors: string[]; }; /** * Get localization statistics */ getStats(): LocalizationStats; /** * Create a contextual translation helper */ createTranslator(context: string): (key: string, variables?: TranslationOptions) => string; /** * Format numbers according to locale (basic implementation) */ formatNumber(num: number): string; /** * Format dates according to locale (basic implementation) */ formatDate(date: Date, options?: Intl.DateTimeFormatOptions): string; /** * Get pluralization rules for current language (simplified) */ getPluralRule(count: number): 'zero' | 'one' | 'other'; /** * Clear all loaded language packs (except default) */ clearLanguagePacks(): void; } //# sourceMappingURL=LocalizationSystem.d.ts.map