import type { SourceDestinationItem } from '../../types/template.js';
export declare class TemplateEngine {
    private handlebars;
    constructor();
    /**
     * Load template content from file path
     *
     * @param templatePath - Template path (bare name, relative, or absolute)
     */
    loadTemplate(templatePath: string): Promise<string>;
    /**
     * Apply template with user code and variable substitution
     */
    applyTemplate(template: string, userCode: string, sources: Record<string, SourceDestinationItem>, destinations: Record<string, SourceDestinationItem>, collector: Record<string, unknown>, build?: Record<string, unknown>): string;
    /**
     * Process template with user code
     */
    process(templatePath: string, userCode: string, sources: Record<string, SourceDestinationItem>, destinations: Record<string, SourceDestinationItem>, collector: Record<string, unknown>, build?: Record<string, unknown>): Promise<string>;
}
//# sourceMappingURL=template-engine.d.ts.map