/** * Template Repository Interface * * Defines the contract for accessing and managing templates. * Part of the domain layer, with implementations in the infrastructure layer. */ import { Language } from '../i18n/Language.js'; import { Template } from './Template.js'; /** * Interface for accessing and managing templates */ export interface ITemplateRepository { /** * Gets a template by ID * * @param id Template ID * @returns Promise resolving to Template or null if not found */ getTemplate(id: string): Promise