import type { CaseName } from "./cases.js"; import { type CamelCaseName, type CamelCaseToWords, type PascalCaseName, type PascalCaseToWords, type WordsToCamelCase, type WordsToPascalCase } from "./capitalization-delimited-cases.js"; import { type LowerCaseName, type LowerCaseToWords, type UpperCaseName, type UpperCaseToWords, type WordsToLowerCase, type WordsToUpperCase } from "./non-delimited-cases.js"; import { type KebabCaseName, type KebabCaseToWords, type SnakeCaseName, type SnakeCaseToWords, type UpperKebabCaseName, type UpperKebabCaseToWords, type UpperSnakeCaseName, type UpperSnakeCaseToWords, type WordsToKebabCase, type WordsToSnakeCase, type WordsToUpperKebabCase, type WordsToUpperSnakeCase } from "./symbol-delimited-cases.js"; export type WordsToString = Case extends LowerCaseName ? WordsToLowerCase : Case extends UpperCaseName ? WordsToUpperCase : Case extends CamelCaseName ? WordsToCamelCase : Case extends PascalCaseName ? WordsToPascalCase : Case extends SnakeCaseName ? WordsToSnakeCase : Case extends UpperSnakeCaseName ? WordsToUpperSnakeCase : Case extends KebabCaseName ? WordsToKebabCase : Case extends UpperKebabCaseName ? WordsToUpperKebabCase : WordsToStringAcc; type WordsToStringAcc = Words extends [infer Head extends string, ...infer Tail extends string[]] ? WordsToStringAcc : Acc; export declare function wordsToString(caseName: Case, words: Words): WordsToString; export type StringToWords = Case extends LowerCaseName ? LowerCaseToWords : Case extends UpperCaseName ? UpperCaseToWords : Case extends CamelCaseName ? CamelCaseToWords : Case extends PascalCaseName ? PascalCaseToWords : Case extends SnakeCaseName ? SnakeCaseToWords : Case extends UpperSnakeCaseName ? UpperSnakeCaseToWords : Case extends KebabCaseName ? KebabCaseToWords : Case extends UpperKebabCaseName ? UpperKebabCaseToWords : [String]; export declare function stringToWords(caseName: Case, string: String): StringToWords; export {}; //# sourceMappingURL=words.d.ts.map