/** * Manages marketplace documentation templates * * Templates are stored in .marketplace/_templates/ and can be customized by users. * Hash-based detection prevents overwriting user customizations. */ export declare class TemplateManager { private marketplaceDir; private templateDir; private hashFile; private static readonly TEMPLATE_VERSION; constructor(workingDir: string); /** * Ensure templates directory exists and templates are initialized */ ensureTemplates(): Promise; /** * Check if a template has been customized by the user */ isTemplateCustomized(templateName: string): Promise; /** * Render a template with provided data */ renderTemplate(templateName: string, data: any): Promise; /** * Template renderer using a char-by-char walker. * * The template uses \` for escaped backticks, \$ to prevent interpolation, * and \\\\ for literal backslashes. Expressions inside ${...} are extracted, * globally unescaped (one level of \ removal), and evaluated as plain JS. */ private render; /** * Walk template char by char, resolving escapes in text and evaluating * ${...} expressions. Text escapes: \` → `, \$ → $, \\\\ → \\. */ private evaluateTemplate; /** * Evaluate a JS expression extracted from the template. * Expressions should be valid JS as-is (template literal delimiters are * raw backticks, escaped backticks are \`, interpolations are ${...}). */ private evalExpression; /** * Find the matching closing brace for a ${...} expression, * correctly handling nested braces, strings, and template literals. */ private findMatchingBrace; private skipString; private skipTemplateLiteral; /** * Ensure a single template exists and is up-to-date */ private ensureTemplate; /** * Load template hashes from file */ private loadHashes; /** * Save template hashes to file */ private saveHashes; /** * Calculate SHA-256 hash of content */ private calculateHash; /** * Get default README template */ private getDefaultReadmeTemplate; /** * Get default Photon documentation template */ private getDefaultPhotonTemplate; } //# sourceMappingURL=template-manager.d.ts.map