/**
 * I18nServiceAdapter
 *
 * I18nService を II18nProvider インターフェースにアダプトするクラス。
 * II18nProvider を期待する場所で I18nService を使用できるようにします。
 */
import { I18nService } from '../../application/i18n/I18nService.js';
import { II18nProvider } from './interfaces/II18nProvider.js';
import type { Language as SchemaLanguage, TranslationKey } from '@memory-bank/schemas';
/**
 * I18nServiceAdapter
 * II18nProvider インターフェースを実装し、I18nService をアダプトするクラス
 */
export declare class I18nServiceAdapter implements II18nProvider {
    private readonly i18nService;
    private readonly componentLogger;
    private readonly supportedLanguages;
    private readonly defaultLanguage;
    /**
     * コンストラクタ
     *
     * @param i18nService アダプトする I18nService のインスタンス
     */
    constructor(i18nService: I18nService);
    /**
     * II18nProvider.translate の実装
     *
     * @param params 翻訳パラメータ
     * @returns 翻訳されたテキスト
     */
    translate(params: {
        key: TranslationKey;
        language: SchemaLanguage;
        params?: Record<string, string>;
    }): string;
    /**
     * II18nProvider.loadTranslations の実装
     *
     * @param language 言語コード
     * @returns Promise resolving to true if successful
     */
    loadTranslations(language: SchemaLanguage): Promise<boolean>;
    /**
     * II18nProvider.isLanguageSupported の実装
     *
     * @param language 言語コード
     * @returns サポートされているかどうか
     */
    isLanguageSupported(language: string): boolean;
    /**
     * II18nProvider.getSupportedLanguages の実装
     *
     * @returns サポートされている言語の配列
     */
    getSupportedLanguages(): SchemaLanguage[];
    /**
     * II18nProvider.getDefaultLanguage の実装
     *
     * @returns デフォルト言語
     */
    getDefaultLanguage(): SchemaLanguage;
}
//# sourceMappingURL=I18nServiceAdapter.d.ts.map