import type { DomainTemplate } from './types.js';
/**
 * Registry of all available domain templates with their metadata.
 * This provides a central location for UI components to discover and present templates.
 *
 * The templates are pre-processed at build time using the generate-template-metadata.js script
 * to avoid loading and processing all templates on the client side.
 */
export declare class TemplateRegistry {
    /**
     * Gets all available templates
     */
    static getAllTemplates(): DomainTemplate[];
    /**
     * Gets a template by its ID
     */
    static getTemplate(id: string): DomainTemplate | undefined;
    /**
     * Gets templates filtered by tags
     */
    static getTemplatesByTag(tag: string): DomainTemplate[];
    /**
     * Gets templates filtered by category (based on tags)
     */
    static getTemplatesByCategory(category: 'business' | 'content' | 'social' | 'technical'): DomainTemplate[];
    /**
     * Gets templates filtered by industry vertical
     */
    static getTemplatesByVertical(vertical: string): DomainTemplate[];
    /**
     * Gets all available industry verticals
     */
    static getIndustryVerticals(): {
        id: string;
        name: string;
        description: string;
        subcategories: string[];
        templateCount: number;
    }[];
    /**
     * Searches templates by name or description
     */
    static searchTemplates(query: string): DomainTemplate[];
    /**
     * Gets template statistics for analytics
     */
    static getTemplateStats(): {
        totalTemplates: number;
        totalEntities: number;
        totalProperties: number;
        totalAssociations: number;
        categoryCounts: Record<string, number>;
    };
}
//# sourceMappingURL=template-registry.d.ts.map