import { TemplateResult } from './template-result'; import { ParsedTemplate } from './parser'; import { Binding } from '../binding-manager/bindings/binding'; /** * Performance metrics for template processing */ interface ProcessingMetrics { parseTime: number; createTime: number; updateTime: number; cacheHits: number; cacheMisses: number; } /** * The TemplateProcessor is responsible for: * 1. Processing template results into DOM structures * 2. Managing template instances and their lifecycles * 3. Creating and managing parts that handle dynamic content * 4. Caching parsed templates for better performance */ export declare class TemplateProcessor { private static sharedTemplateCache; private parser; constructor(); /** * Performance tracking */ private metrics; /** * Get performance metrics */ getPerformanceMetrics(): ProcessingMetrics; /** * Reset performance metrics */ resetMetrics(): void; /** * Clear template cache to free memory */ clearCache(): void; /** * Get cache statistics */ getCacheStats(): { size: number; hits: number; misses: number; }; createInstance(result: TemplateResult, context?: unknown): Promise; private getOrCreateParsedTemplate; private createDOMFragment; } declare class TemplateInstance { private result; private parsed; private parts; private fragment; private updateMetrics; constructor(result: TemplateResult, parsed: ParsedTemplate, parts: Binding[], fragment: DocumentFragment); getFragment(): DocumentFragment; connect(context?: unknown): void; update(values: unknown[], context?: unknown): Promise; disconnect(): void; getUpdateMetrics(): { updateTime: number; updateCount: number; }; } export {}; //# sourceMappingURL=processor.d.ts.map