/**
 * Template Registry - Manages available project templates
 */
import { ProjectTemplate, TemplateRegistry as ITemplateRegistry, ValidationResult } from './types';
export declare class TemplateRegistry implements ITemplateRegistry {
    private templatesPath;
    templates: Map<string, ProjectTemplate>;
    categories: Map<string, ProjectTemplate[]>;
    constructor(templatesPath?: string);
    /**
     * Register a new template
     */
    register(template: ProjectTemplate): void;
    /**
     * Get template by ID
     */
    get(id: string): ProjectTemplate | undefined;
    /**
     * Get templates by category
     */
    getByCategory(category: string): ProjectTemplate[];
    /**
     * List all templates
     */
    list(): ProjectTemplate[];
    /**
     * Validate template structure
     */
    validate(template: ProjectTemplate): ValidationResult;
    /**
     * Load templates from filesystem
     */
    private loadTemplates;
    /**
     * Load builtin templates as fallback
     */
    private loadBuiltinTemplates;
}
//# sourceMappingURL=TemplateRegistry.d.ts.map