type JsonTemplate = Record<string, unknown>;
type Language = 'en' | 'ja' | 'zh';
import { IFileSystemService } from '../storage/interfaces/IFileSystemService.js';
import { II18nProvider } from '../i18n/interfaces/II18nProvider.js';
import { ITemplateLoader } from './interfaces/ITemplateLoader.js';
/**
 * Implementation of ITemplateLoader for JSON templates
 */
export declare class JsonTemplateLoader implements ITemplateLoader {
    private readonly fileSystemService;
    private readonly i18nProvider;
    private readonly templateRenderer;
    /**
     * Constructor
     *
     * @param fileSystemService Service for file system operations
     * @param i18nProvider Provider for internationalization services
     */
    constructor(fileSystemService: IFileSystemService, i18nProvider: II18nProvider);
    /**
     * Gets the JSON templates directory path
     */
    private getJsonTemplatesDirectory;
    /**
     * Implements ITemplateLoader.loadJsonTemplate
     */
    loadJsonTemplate(templateId: string): Promise<JsonTemplate>;
    /**
     * Implements ITemplateLoader.getMarkdownTemplate
     */
    getMarkdownTemplate(templateId: string, language: Language, variables?: Record<string, string>): Promise<string>;
    /**
     * Implements ITemplateLoader.templateExists
     */
    templateExists(templateId: string): Promise<boolean>;
}
export {};
//# sourceMappingURL=JsonTemplateLoader.d.ts.map