export interface TemplateOptions {
    engine?: 'handlebars' | 'ejs' | 'pug';
    cache?: boolean;
    defaultLocale?: string;
}
export declare class TemplateEngine {
    private templatesDir;
    private templates;
    private compiledTemplates;
    private options;
    private logger;
    constructor(templatesDir: string, options?: TemplateOptions);
    private validateTemplatesDir;
    private getTemplatePath;
    private loadTemplate;
    private compileTemplate;
    private compileHandlebars;
    private compileEjs;
    private compilePug;
    render(name: string, context: Record<string, any>, locale?: string): string;
    clearCache(): void;
    setOptions(options: Partial<TemplateOptions>): void;
    getAvailableTemplates(locale?: string): string[];
}
//# sourceMappingURL=template-engine.d.ts.map