import { ICaseTransformer } from '../interfaces'; /** * Factory class for creating case transformers using lazy initialization and singleton pattern * Follows clean architecture principles: * - Lazy initialization (create only when needed) * - Auto-registration (no manual initialization) * - Singleton pattern (one instance per case style) * - Open/Closed principle (easy to extend) */ export declare class CaseTransformerFactory { private static instances; private static customTransformers; /** * Get a transformer by case style name (lazy initialization) * @param caseStyle - The case style name * @returns The transformer instance * @throws Error if transformer not found */ static getTransformer(caseStyle: string): ICaseTransformer; /** * Register a custom transformer * @param caseStyle - The case style name * @param transformer - The transformer instance */ static registerTransformer(caseStyle: string, transformer: ICaseTransformer): void; /** * Get all available case styles (auto-discovered) * @returns Array of case style names */ static getAvailableCaseStyles(): string[]; /** * Get all transformers (lazy-loaded) * @returns Map of case style to transformer */ static getAllTransformers(): Map; /** * Check if a case style is supported * @param caseStyle - The case style name * @returns True if supported */ static isSupported(caseStyle: string): boolean; /** * Auto-detect case style from a string * @param input - The input string * @returns The detected case style or null */ static detectCaseStyle(input: string): string | null; /** * Get transformer information * @param caseStyle - The case style name * @returns Transformer information object */ static getTransformerInfo(caseStyle: string): { name: string; description: string; } | null; /** * Clear all registered transformers */ static clear(): void; /** * Reset to default state (clear all instances) */ static reset(): void; /** * Get factory statistics * @returns Factory statistics object */ static getStats(): { totalAvailable: number; instancesCreated: number; customTransformers: number; }; } //# sourceMappingURL=case-transformer.factory.d.ts.map