type Split = string extends Source ? readonly string[] : Source extends '' ? readonly [] : Source extends `${infer T}${Delimiter}${infer U}` ? readonly [...Split, ...Split] : readonly [Lowercase]; type SeparateByCase = Source extends `${infer T}${infer U}` ? `${T extends Capitalize ? Delimiter : ''}${Lowercase}${SeparateByCase}` : Source; type SplitByCase = Split, Delimiter>; type ToSnakeCase = S extends readonly [ infer T, ...infer U ] ? `${T}${U extends readonly [] ? '' : `_${ToSnakeCase}`}` : ''; type ToKebabCase = S extends readonly [ infer T, ...infer U ] ? `${T}${U extends readonly [] ? '' : `-${ToKebabCase}`}` : ''; type ToPascalCase = S extends readonly [ infer T, ...infer U ] ? `${Capitalize}${U extends readonly [] ? '' : `${ToPascalCase}`}` : ''; type ToCamelCase = S extends readonly [ infer T, ...infer U ] ? `${T}${U extends readonly [] ? '' : `${ToPascalCase}`}` : ''; export declare class CaseTransformer { #private; private constructor(); toString(): string; static fromDelimiterCase(value: Value, delimiter: Delimiter): CaseTransformer>; static fromCaseSensitive(value: Value): CaseTransformer>; static fromCaseSensitive(value: Value, delimiter: Delimiter): CaseTransformer>; toSnakeCase(): ToSnakeCase; toKebabCase(): ToKebabCase; toPascalCase(): ToPascalCase; toCamelCase(): ToCamelCase; } export {};