declare type Split = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split] : S extends Delimiter ? [] : [S]; declare type InnerCamelCaseStringArray = Parts extends [`${infer FirstPart}`, ...infer RemainingParts] ? FirstPart extends undefined ? '' : FirstPart extends '' ? InnerCamelCaseStringArray : `${PreviousPart extends '' ? FirstPart : Capitalize}${InnerCamelCaseStringArray}` : ''; declare type CamelCaseStringArray = Parts extends [`${infer FirstPart}`, ...infer RemainingParts] ? Uncapitalize<`${FirstPart}${InnerCamelCaseStringArray}`> : never; declare type WordSeparators = '-' | '_' | ' '; export declare type CamelCase = K extends string ? CamelCaseStringArray ? Lowercase : K, WordSeparators>> : K; export {};