import { IFileSystemService } from '../storage/interfaces/IFileSystemService.js';
import { Language, TranslationKey } from '@memory-bank/schemas';
import { II18nProvider } from './interfaces/II18nProvider.js';
/**
 * Implementation of II18nProvider
 */
export declare class I18nProvider implements II18nProvider {
    private readonly fileSystemService;
    private readonly componentLogger;
    private translations;
    private readonly defaultLanguage;
    private readonly supportedLanguages;
    private readonly translationsPath;
    /**
     * Constructor
     *
     * @param fileSystemService Service for file system operations
     */
    constructor(fileSystemService: IFileSystemService);
    /**
     * Implements II18nProvider.translate
     */
    translate(params: {
        key: TranslationKey;
        language: Language;
        params?: Record<string, string>;
    }): string;
    /**
     * Implements II18nProvider.loadTranslations
     */
    loadTranslations(language: Language): Promise<boolean>;
    /**
     * Implements II18nProvider.isLanguageSupported
     */
    isLanguageSupported(language: string): boolean;
    /**
     * Implements II18nProvider.getSupportedLanguages
     */
    getSupportedLanguages(): Language[];
    /**
     * Implements II18nProvider.getDefaultLanguage
     */
    getDefaultLanguage(): Language;
    /**
     * Process placeholders in the text
     * Replaces {{PLACEHOLDER}} with corresponding value from params
     *
     * @param text Text containing placeholders
     * @param params Parameters to substitute
     * @returns Text with placeholders replaced
     */
    private processPlaceholders;
    /**
     * Loads all supported languages
     *
     * @returns Promise resolving when all languages are loaded
     */
    loadAllTranslations(): Promise<void>;
}
//# sourceMappingURL=I18nProvider.d.ts.map