import { ICaseTransformer, ICaseTransformContext } from '../interfaces'; /** * Abstract base class for case transformation strategies */ export declare abstract class BaseCaseTransformer implements ICaseTransformer { protected readonly caseStyle: string; protected readonly description: string; constructor(caseStyle: string, description: string); /** * Transform a string to the target case style * Must be implemented by subclasses */ abstract transform(input: string): string; /** * Transform a string with context information * Default implementation calls transform() and logs the result * @param input - The input string to transform * @param context - The transformation context * @returns The transformed string */ transformWithContext(input: string, context: ICaseTransformContext): string; /** * Detect if a string matches this case style * Must be implemented by subclasses */ abstract detect(input: string): boolean; /** * Get the case style name */ getCaseStyle(): string; /** * Get the case style description */ getDescription(): string; /** * Validate input string * @param input - The input string to validate * @returns True if the input is valid */ protected isValidInput(input: string): boolean; /** * Handle empty or invalid input * @param input - The input string * @returns The input as-is if invalid, or transformed if valid */ protected handleInvalidInput(input: string): string; /** * Get transformation context information * @param context - The transformation context * @returns Context information string */ protected getContextInfo(context: ICaseTransformContext): string; /** * Log transformation activity (for debugging) * @param input - The input string * @param output - The output string * @param context - The transformation context */ protected logTransformation(input: string, output: string, context: ICaseTransformContext): void; } //# sourceMappingURL=base-case-transformer.abstract.d.ts.map