/**
 * Auto-generated template registry index
 * Generated on: 2025-08-09T20:52:36.596Z
 *
 * This file is auto-generated by scripts/generate-template-metadata.js
 * Do not edit manually - your changes will be overwritten.
 */
import type { CreateTemplateOptions, DomainTemplate } from '../types.js';
import { DataDomain } from '../../DataDomain.js';
/**
 * Registry of all available template metadata
 */
export declare const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate>;
/**
 * Array of all template IDs for iteration
 */
export declare const TEMPLATE_IDS: readonly ["ecommerce-platform", "blog-publishing-platform", "healthcare-management-platform", "financial-services-platform", "education-management-platform", "real-estate-management-platform", "manufacturing-platform", "hospitality-platform", "legal-services-platform", "non-profit-platform", "iot-smart-home-platform", "gaming-platform"];
/**
 * Template categories for filtering
 */
export declare const TEMPLATE_CATEGORIES: {
    readonly business: readonly ["e-commerce", "retail", "business", "inventory", "orders", "crm", "finance"];
    readonly content: readonly ["blog", "cms", "publishing", "content", "media", "editorial"];
    readonly social: readonly ["social", "community", "networking", "communication"];
    readonly technical: readonly ["api", "service", "microservice", "system", "integration"];
};
/**
 * Get all templates
 */
export declare function getAllTemplates(): DomainTemplate[];
/**
 * Get template by ID
 */
export declare function getTemplate(id: string): DomainTemplate | undefined;
/**
 * Get templates by tag
 */
export declare function getTemplatesByTag(tag: string): DomainTemplate[];
/**
 * Get templates by category
 */
export declare function getTemplatesByCategory(category: keyof typeof TEMPLATE_CATEGORIES): DomainTemplate[];
/**
 * Search templates
 */
export declare function searchTemplates(query: string): DomainTemplate[];
/**
 * Get template statistics
 */
export declare function getTemplateStats(): {
    totalTemplates: number;
    totalEntities: number;
    totalProperties: number;
    totalAssociations: number;
    categoryCounts: Record<string, number>;
};
/**
 * Creates a domain by its ID
 * @param id The ID of the template
 * @param options Options for creating the template
 * @returns The created data domain
 */
export declare function createDomainById(id: string, options?: CreateTemplateOptions): DataDomain;
//# sourceMappingURL=index.d.ts.map