import { ITemplateRepository } from '../../domain/templates/ITemplateRepository.js'; import { Template } from '../../domain/templates/Template.js'; import { Language } from '../../domain/i18n/Language.js'; /** * File-based implementation of Template Repository */ export declare class FileTemplateRepository implements ITemplateRepository { private readonly i18nProvider?; private readonly componentLogger; private readonly basePath; private templateCache; private cacheDirty; /** * Constructor * * @param basePath Base path for storing template files * @param i18nProvider Optional I18n provider for translations */ constructor(basePath: string, i18nProvider?: { translate: (key: string, language: string) => string; } | undefined); /** * Initialize the repository * * @returns Promise resolving when initialization is complete */ initialize(): Promise; /** * Gets a template by ID * * @param id Template ID * @returns Promise resolving to Template or null if not found */ getTemplate(id: string): Promise